用ggplot2将多个y值绘制为单独的行的正确方法

我经常遇到一个问题,我有一个数据框架,其中包含一个x变量,一个或多个方面变量以及多个不同的其他变量。 有时我想同时将不同的y变量绘制为单独的行。 但它始终只是我想要的一个子集。 我已经尝试使用融合来获取“变量”作为列并使用它,并且如果我想要原始数据集中的每一列都有效,它就可以工作。 通常我不会。

现在我一直在做的事情真的迂回感觉。 假设用mtcars我想绘制disp,hp和wt对mpg:

ggplot(mtcars, aes(x=mpg)) + 
  geom_line(aes(y=disp, color="disp")) + 
  geom_line(aes(y=hp, color="hp")) + 
  geom_line(aes(y=wt, color="wt"))

这感觉真的很多。 如果我先融化mtcars,那么所有的变量都会融化,然后我会结束绘制其他我不想要的变量。

有没有人有这样做的好方法?


ggplot总是喜欢格式的数据帧,所以melt它:

mtcars.long <- melt(mtcars, id = "mpg", measure = c("disp", "hp", "wt"))
ggplot(mtcars.long, aes(mpg, value, colour = variable)) + geom_line()
链接地址: http://www.djcxy.com/p/30939.html

上一篇: The right way to plot multiple y values as separate lines with ggplot2

下一篇: join from dplyr package produces NA results in the new column