簡體   English   中英

具有重塑(熔化函數)的R ggplot2選擇性地繪制數據集

[英]R ggplot2 with reshape (melt function) selectively graph data sets

我正在使用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應該是一個geom_line (圖中的線)表B,第二個geom_line ,依此類推。 這是可能的還是我必須返回並改變以前數據框的融化?

編輯:好的,這是融化功能:

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

我給你的數據每行只有兩個點,所以想象你從每個表(A,B,C和D)得到數百個點,因此這個圖上會有四行。 我希望能夠使用復選框關閉每一行,但為此我需要為每行提供唯一的標識符,這樣我才能執行此操作。 所以我想的是做一個單獨的+ geom_line(for table A) + geom_line(for table B) + geom_line(for table C)...

我希望這澄清了一點。

編輯2:這就是圖形現在的樣子,它應該看起來像這樣,但是有4個geom_line調用而不是現在的調用:

在此輸入圖像描述

我認為這接近你想要的:

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

OP澄清后編輯

使用ggplot2(也可以使用Lattice),您可以為每個圖層組合數據源和子集

例如,我選擇僅顯示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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM