我试图绘制两个具有不同值的矢量,但在同一图表上的长度相等,如下所示:
a<-23.33:52.33
b<-33.33:62.33
days<-1:30
df<-data.frame(x,y,days)
a b days
1 23.33 33.33 1
2 24.33 34.33 2
3 25.33 35.33 3
4 26.33 36.33 4
5 27.33 37.33 5
etc..
我正在尝试使用ggplot2在x轴上绘制x和y,在y轴上绘制天数。但是,我无法弄清楚如何做到这一点。我可以单独绘制它们并组合图形,但我想要一个图形,在x轴上有a和b矢量(不同的颜色),在y轴上有天数。
到目前为止我所拥有的:
X<-ggplot(df, aes(x=a,y=days)) + geom_line(color="red")
Y<-ggplot(df, aes(x=b,y=days)) + geom_line(color="blue")
有没有办法为a和b向量定义x轴?我也试过使用融合长功能,但后来卡住了。
非常感谢任何帮助。谢谢
答案 0 :(得分:1)
我认为最好的方法是通过融合数据的方法(正如你所提到的)。特别是如果你要添加更多的矢量。这是代码
library(reshape2)
library(ggplot2)
a<-23:52
b<-33:62
days<-1:30
df<-data.frame(x=a,y=b,days)
df_molten=melt(df,id.vars="days")
ggplot(df_molten) + geom_line(aes(x=value,y=days,color=variable))
您也可以通过scale_color_manual
手动更改颜色。
答案 1 :(得分:0)
一个更简单的解决方案是仅使用ggplot。以下代码适用于您的情况
a<-23.33:52.33
b<-33.33:62.33
days<-1:30
df<-data.frame(a,b,days)
ggplot(data = df)+
geom_line(aes(x = df$days,y = df$a), color = "blue")+
geom_line(aes(x = df$days,y = df$b), color = "red")
我添加了颜色,您可能希望使用它们来区分变量。