我有这样的数据:
Day Hour Minute averagespeed
1 0 14 55
1 0 29 65
1 0 44 70
1 0 59 55
1 1 14 32
1 1 29 50
1 1 44 96
1 1 59 54
1 2 14 64
1 2 29 70
我想将此数据绘制为条形图或直方图,但x轴以小时为单位,范围是0到23,如下所示:分为15分钟间隔的4个间隔:
0 14 29 44 59 1 14 29 44 59 2 14 29 44 59 ..............23
针对averagespeed
的y轴。
此数据为期30天,根据上面显示的列,我不知道如何使x轴像这样。
答案 0 :(得分:0)
您只需要定义自己的标签和自定义x轴即可。另一个困难是,默认情况下,该轴的标签与barplot
不能正确对齐(而与常规plot
对齐)。
因此,您必须使用以下解决方法,将条形图另存为对象,然后强制x标签的位置:
mylabels <- paste0(df$Hour, "h", df$Minute,"min")
# labels not aligned ------------------------------------------------------
#barplot(df$averagespeed, xaxt = "n", xlab="Time")
#axis(1, at=1:length(df$averagespeed), labels=mylabels)
# labels are aligned ------------------------------------------------------
m<-barplot(df$averagespeed, xaxt = "n", xlab="Time")
m
axis(1, at=m,labels=mylabels)
x轴的创建在此处进行了说明:https://stackoverflow.com/a/5182416/5224236
此处的条形图变通办法:https://stackoverflow.com/a/15332146/5224236