a = c(22,23,00,01,02) #hours from 22 in to 2 in morning next day
b = c(4,8,-12,3,5) #some values
df = data.frame(a,b)
当我用ggplot2绘制这些数据时,它会对第一列a
进行排序,但我不希望它被排序。
ggplot2中使用的代码是ggplot(df, aes(a,b)) + geom_line()
在这种情况下,X轴被排序,它们提供了错误的结果,如
小时0由值4组成,事实是小时22由值4组成
答案 0 :(得分:1)
R需要以某种方式知道你在向量中提供的内容" a"是时候了。我稍微改变了你的向量,给R提供了必要的信息:
a = as.POSIXct(c("0122","0123","0200","0201","0202"), format="%d%H")
# hours from 22 in to 2 in morning next day (as strings)
# the day is arbitrary but must be provided
b = c(4,8,-12,3,5) #some values
df = data.frame(a,b)
ggplot(df, aes(a,b)) + geom_line()
你可以使用paste()自动将日期和小时粘合在一起(例如粘贴(第22天,sep =""))