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