ggplot组合来自不同data.frames的两个绘图

ggplot组合来自不同data.frames的两个绘图,r,ggplot2,R,Ggplot2,我想将来自两个不同data.frames的两个GGPlot合并到一个plot中。下面您将找到代码。我想合并图1和图2或图3和图4 df1 <- data.frame(p=c(10,8,7,3,2,6,7,8), v=c(100,300,150,400,450,250,150,400)) df2 <- data.frame(p=c(10,8,6,4), v=c(150,250,350,400)) plot1 <- qplot(df1$v, df1$p)

我想将来自两个不同data.frames的两个GGPlot合并到一个plot中。下面您将找到代码。我想合并图1和图2或图3和图4

df1 <- data.frame(p=c(10,8,7,3,2,6,7,8),
             v=c(100,300,150,400,450,250,150,400))
df2 <- data.frame(p=c(10,8,6,4), v=c(150,250,350,400))

plot1 <- qplot(df1$v, df1$p)
plot2 <- qplot(df2$v, df2$p, geom="step")

plot3 <- ggplot(df1, aes(v, p)) + geom_point()
plot4 <- ggplot(df2, aes(v, p)) + geom_step()

df1正如巴蒂斯特所说,您需要在geom级别指定数据参数。或者

#df1 is the default dataset for all geoms
(plot1 <- ggplot(df1, aes(v, p)) + 
    geom_point() +
    geom_step(data = df2)
)
#df1是所有几何图形的默认数据集

(plot1您可以使用此技巧仅使用qplot。使用内部变量
$mapping
。您甚至可以将color=添加到绘图中,以便也将其放入绘图中,然后您的绘图将自动与图例和颜色组合

cpu_metric2 <- qplot(y=Y2,x=X1) 

cpu_metric1 <- qplot(y=Y1, 
                    x=X1, 
                    xlab="Time", ylab="%") 

combined_cpu_plot <- cpu_metric1 + 
  geom_line() +
  geom_point(mapping=cpu_metric2$mapping)+
  geom_line(mapping=cpu_metric2$mapping)

cpu_metric2对我来说,唯一可行的解决方案是在geom_行中定义数据对象,而不是基本对象ggplot

像这样:

ggplot() + 
geom_line(data=Data1, aes(x=A, y=B), color='green') + 
geom_line(data=Data2, aes(x=C, y=D), color='red')
而不是

ggplot(data=Data1, aes(x=A, y=B), color='green') + 
geom_line() + 
geom_line(data=Data2, aes(x=C, y=D), color='red')

使用
ggplot()
语法,您可以指定每个层要使用的数据,例如
geom_步骤(data=df2)
@101最外面的括号是一种使绘图打印与其赋值在同一行的技巧。您也可以将此技巧用于其他变量。
(my_变量如何使用此方法放置两种颜色?@WagnerJorge尝试读取qplot文档并在初始化cpu_metric2时添加颜色,如
qplot(y=…,x=…,color=…)
,然后在
geom_线(映射…,color=…)
ggplot(data=Data1, aes(x=A, y=B), color='green') + 
geom_line() + 
geom_line(data=Data2, aes(x=C, y=D), color='red')