[英]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.