如何在ggplot2中使用多个数据集的构面和组?

时间:2012-09-27 18:59:43

标签: r ggplot2

我有两个数据帧Data1和Data2。 Data1具有日期和价格以及代码。 Data2有日期和Volume和Ticker。两个数据帧的长度不同。也就是说,日期无法一对一匹配,因此我无法在没有插值的情况下将它们放入一个数据帧中。

我想在同一个地块上绘制价格与日期和数量与日期的关系,我猜这意味着不同的层次和不同的规模。但我也希望能够面对自动收报机。

如何在不使用for循环的情况下在ggplot2中执行此操作?

2 个答案:

答案 0 :(得分:1)

查看您的数据会有所帮助,但我认为这应该有用。我使两个数据集的颜色不同,但这样做不会自动生成图例,而y轴只标记第一个变量。

ggplot(Data1, aes(Date, Price)) + facet_wrap(~ Ticker) + geom_line(color="blue") + geom_line(data=Data2, aes(date, Volume), color="red")

答案 1 :(得分:0)

好的,这是我的回答,使用我在评论中表达的想法。

ticks=c('JNJ','IBM','MSFT','GOOG','CAT','BAC') 
N1=100 
N2=200
Data1=data.frame(x=runif(N1),y=cumsum(runif(N1)),
                 ticks=sample(ticks,N1,replace=T), tag='data1')
Data2=data.frame(x=runif(N2),y=cumsum(runif(N2)),
                 ticks=sample(ticks,N2,replace=T),tag='data2')
D=rbind(Data1,Data2)

ggplot(data=D,aes(x=x,y=y,colour=tag))+geom_line()+facet_wrap(~ticks)

这样可以,但我仍然需要重命名变量。