2015-08-18 149 views
0

enter image description here绘制在具有不同y轴上y轴的多个特征缩放

我有一个数据组,其中各列是时间和不同的特征,例如:

time rtt drc rl 
1234 2222 23 8000 

每个的上限和下限功能(vcolumn)差异巨大(差异巨大!)。我想绘制一个单线图,其中时间变量位于x轴上,多个其他功能位于y轴上。

我已经试过线图的不同层在GGPLOT2:

ggplot(my_data, aes(time)) + geom_line(aes(y = rtt, color = "rtt")) 
          + geom_line(aes(y = drc, color = "drc")) 
          + geom_line(aes(y = rl, color = "rl")) 

我会用ylim = c(max of rtt, min of rtt)等,但我不知道如果我能加入这个每个geom_line()。 我想用不同的y轴缩放比例绘制每个特征。这可能吗?

请注意,在图中,红色和绿色线条不可见(这就是为什么我想在y轴上以不同比例缩放)。

+0

选项:(1)重新调整所有的数据是相同的规模,(2)使用小面将每个时间系列在它自己的面板上,可能使用'scales =“free_y”'。但是在同一个图上放置多个具有完全不同y尺度的系列通常是一个非常糟糕的主意,因此ggplot默认会使其变得简单。 – joran

回答

0

正如joran说,你可以规范自己的价值观,在这里有一个例子(未经测试)

m <- plyr::ddply(reshape2::melt(my_data, id = "time"), 
       "variable", mutate, value = value/max(value)) 

ggplot(m, aes(time, value, colour=variable)) + geom_line() 
+0

非常感谢您的帮助,但将多个功能缩放到相同的恐慌是重叠的,并且对我的数据集的视觉效果不好。我试图在ggplot2中绘制[链接](https://4.bp.blogspot.com/-tj7H_ORDJ7o/TcgRncP-nMI/AAAAAAAAADM/5Jv3tGu2rts/s1600/fig.jpg)。 –