4

ggplotを使用して多数のデータセットをグラフ化していますが、各データセットが独自のgeom_line機能を持つようにプロットして、必要に応じて線を分離して非表示にできるようにします。

 ggplot(MeanFrameMelt, aes(x=variable, y=value, 
           color=Legend, group=Legend)) + geom_line()

パッケージのリシェイプでメルト関数を使用して変換した後の入力テーブル:

Legend        variable  value
table_A.txt V1  0.008927491
table_B.txt V1  0.009080929
table_C.txt V1  0.008513332
table_D.txt V1  0.008337751
table_A.txt V2  0.008957742
table_B.txt V2  0.009100265
table_C.txt V2  0.008508966

テーブルAは1つgeom_line(グラフ上の線)で、テーブルBは1秒geom_lineである必要があります。これは可能ですか、それとも前のデータフレームの融解を変更する必要がありますか?

編集:わかりました、これはメルト関数です:

library(plyr)
library(reshape)    
MeanFrameMelt <- melt(MeanFrame2, id.vars="Legend")

私が提供したデータは、各線に対して2つのポイントしかないため、各テーブル(A、B、C、およびD)から数百のポイントがあると想像してください。したがって、このグラフには4つの線があります。チェックボックスを使用して各行をオフにできるようにしたいのですが、これを行うには、各行に一意の識別子を設定する必要があります。だから私が考えていたのは別のことをすることです+ geom_line(for table A) + geom_line(for table B) + geom_line(for table C)...

これで少し考えが明確になることを願っています。

Edit2:これはグラフが現在どのように見えるかであり、後も次のようになるはずですが、geom_line現在の1つだけではなく、4つの呼び出しがあります。

ここに画像の説明を入力してください

4

1 に答える 1

0

私はこれがあなたが望むものに近いと思います:

ggplot(MeanFrameMelt, aes(x=variable, y=value, 
       color=Legend, group=Legend))+ geom_line(aes(linetype=Legend))

OPの説明後に編集

ggplot2(ラティスも)を使用すると、各レイヤーのデータソースとサブセットを組み合わせることができます

ここでは、たとえば、2行だけを表示することを選択します

library(ggplot2)
  ggplot(dat, aes(x=variable, y=value, ,
                          color=Legend, group=Legend))+ 
  geom_line(subset= .(Legend %in% c('table_A.txt','table_D.txt')))

ここに画像の説明を入力してください

チェックボックスを表示する行のリストにバインドできます。

 geom_line(subset= .(Legend %in% visibleCheckedList))
于 2013-01-05T09:00:47.747 に答える