我正在尝试绘制一个类似这样的时间序列图 x_output
:
timestamp city wait_time weekday time
2015-07-14 09:00:00 Boston 1.6 Tuesday 09:00:00
2015-07-14 09:01:00 Boston 1.8 Tuesday 09:00:00
2015-07-14 09:02:00 Boston 2.4 Tuesday 09:00:00
2015-07-14 09:03:00 Boston 2.9 Tuesday 09:00:00
2015-07-14 09:04:00 Boston 4.5 Tuesday 09:00:00
2015-07-14 09:05:00 Boston 5.6 Tuesday 09:00:00
以下是我的绘图方法:
brks <- seq(1, length(x_output$timestamp), 10)
brks_labels <- x_output[brks, ]
p <- ggplot(x_output, aes(x=as.character(timestamp), y=wait_time, group=city)) + geom_line(aes(color=city), size=1.5) + theme(axis.text.x = element_text(angle = 90, hjust=1), legend.position = "bottom") + labs(x=NULL, y="Waiting time (minutes)") + scale_x_discrete(breaks = brks, labels = brks_labels)
print(p)
我必须将
x_output$timestamp
用作字符(即分类变量),否则ggplot2会认为它是连续的,并且包括没有值的白色空白区域。然而,由于某种原因,
scale_x_discrete
似乎无法工作。 我认为我输入了正确的分段点,但标签现在没有显示。 有谁知道原因吗? 这就是绘图内容:
![enter image description here](https://istack.dev59.com/gBZqf.webp)
brks
)。