用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