【发布时间】:2017-11-10 11:09:47
【问题描述】:
我有一个长格式的dataframe 可以与ggplot 一起使用。它有 3 个变量:ID (1:10)、图像 (1:24) 和值(一些索引)。这是头:
ID image value
1 1 1 0.0408963431
2 2 1 0.1366366334
3 3 1 0.1250891286
4 4 1 0.6980148222
5 5 1 0.1537595064
6 6 1 0.6088030843
7 7 1 0.1618058842
8 8 1 0.0007617827
9 9 1 -0.0098789526
10 10 1 0.7994192766
11 1 2 0.0326733369
12 2 2 0.0304698831
13 3 2 0.1100861336
14 4 2 0.5145008107
15 5 2 0.1424066920
16 6 2 0.6982905393
17 7 2 0.2033906321
18 8 2 0.0506560177
19 9 2 0.0223501625
20 10 2 0.8014009445
到目前为止我正在使用:
ggplot(NDVIdfmean_forplot, aes(x = image, y= value, group = ID)) + geom_line()
绘制我的dataframe。尽管代码完成了这项工作,但 x 轴的顺序不正确。这是图片
如您所见,顺序是 1, 10, 11, 12 ... 19, 2, 20, 21 ... 我想按升序绘制我的数据,所以:1,2,3,4等等。
我一直在尝试正确排序我的数据
ggplot(NDVIdfmean_forplot[order(NDVIdfmean_forplot$image),], aes(x=image, y=value, group=ID)) + geom_line() +
geom_path()
但我还没有设法解决它。产生相同的输出。
对此有什么想法吗?
【问题讨论】:
-
能否用
dput()给我们一个可重现的例子,或者你的数据集真的很大吗?我无法使用上面显示的数据重现您的问题。 -
嗨@tyluRp,感谢您的评论,我只是设法解决它。