2017-11-10 8 views
0

私はggplotと一緒に使用できるように長い形式のdataframeを持っています。 ID(1:10)、画像(1:24)、値(いくつかのインデックス)の3つの変数があります。ここではヘッドは次のとおりです。ggplotプロット - R

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軸の順序は正しくありません。ここでは画像

Plot image

あなたは順序が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()

適切に私のデータを注文しようとしているしかし、私はそれを解決するために管理していません。同じ出力が生成されます。

これについて何か考えてください。

+0

は私たちに再現可能な例を与えることができます'dput()'を使うか、あなたのデータセットは本当に大きいのですか?上記のデータで問題を再現できませんでした。 – tyluRp

+0

こんにちは@tyluRp、あなたのコメントのおかげで、私はそれを解決するために管理しています。 – GCGM

答えて

0

:数値に

ターン列画像を:

library(ggplot2) 

NDVIdfmean_forplot$image <- as.numeric(NDVIdfmean_forplot$image) 
ggplot(NDVIdfmean_forplot, aes(image, value, group = ID, color = ID)) + 
    geom_line() 

使用scale_x_discreteソートimage値で:

ggplot(NDVIdfmean_forplot, aes(image, value, group = ID)) + 
    geom_path() + 
    scale_x_discrete(limits = as.character(sort(as.numeric(unique(NDVIdfmean_forplot$image))))) 
+0

ご返信ありがとうございます。同様に動作します。ちなみに、コード内のIDグループごとに特定の色を定義するにはどうすればよいですか? – GCGM

+0

@GCGM助けてくれて嬉しいです。私の答えは – PoGibas

+0

でした。このオプションも使用していましたが、青色のランプが適用されました。私自身の色や独自のカラーランプを定義したいと思います。 'col = c(" orange "、" blue "、" red ")を使って通常の' plot'で行うことと似た何か... ' – GCGM

0

私はそれを解決するために管理するので、私はそれが誰か

は問題は私のイメージ変数が要因ではないということだったのに役立ちます場合は解決策を投稿します。私が使用:

NDVIdfmean_forplot$image <- factor(NDVIdfmean_forplot$image,levels=unique(as.character(NDVIdfmean_forplot$image)))

が正しくため、それを考慮して、それを変換します。今、あなたは二つのアプローチしようとすることができ、グラフの正しい

関連する問題