Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何从使用不同长度的不同数据创建的绘图创建绘图网格?_R_Ggplot2_Ggpubr_Cowplot - Fatal编程技术网

R 如何从使用不同长度的不同数据创建的绘图创建绘图网格?

R 如何从使用不同长度的不同数据创建的绘图创建绘图网格?,r,ggplot2,ggpubr,cowplot,R,Ggplot2,Ggpubr,Cowplot,我尝试创建一个绘图网格,在单独的面板中显示模型中的所有交互,其中ggpubr包中的ggarrange和cowplot包中的plot_网格。 在这两种情况下,我都会收到错误消息:“美学必须是长度1或与数据(1068):颜色、线型相同”。有没有办法安排不同美学长度的情节 下面是两个绘图的代码示例,以及我试图安排它们的尝试。每个情节本身看起来都不错,但不能安排在一起。用于第一个地块的数据有8行,用于地块2的数据有1068行: library(ggplot2) library(cowplot) libr

我尝试创建一个绘图网格,在单独的面板中显示模型中的所有交互,其中ggpubr包中的ggarrange和cowplot包中的plot_网格。 在这两种情况下,我都会收到错误消息:“美学必须是长度1或与数据(1068):颜色、线型相同”。有没有办法安排不同美学长度的情节

下面是两个绘图的代码示例,以及我试图安排它们的尝试。每个情节本身看起来都不错,但不能安排在一起。用于第一个地块的数据有8行,用于地块2的数据有1068行:

library(ggplot2)
library(cowplot)
library(ggpubr)

# Interaction 1
plot1 = ggplot(aes(x=age,y=pred),data=newdat)+
  geom_line(data=newdat,aes(x=age,y=pred,colour = newdat$weaned,linetype = newdat$weaned),size=1)+
  scale_color_manual(values = c("grey20", "blue"))+
  scale_linetype_manual(values=c("dashed", "solid"))

# Interaction 2
plot2 = ggplot(aes(x=NPI,y=pred),data=newdat2)+ fig+
  geom_line(data=newdat2,aes(x=NPI,y=pred,colour = as.factor(newdat$density),linetype = as.factor(newdat$density)),size=1)+ 
  scale_color_manual(values = c("blue", "grey20", "black"))

#   
# Try to combine 2 plots in a grid 
plot_grid(plot2, plot1,labels = c("A","B"), align = "h", ncol = 2)

ggarrange(plot2, plot1,labels = c("A", "B"),ncol = 2, nrow = 2)

您可以使用
patchwork
软件包组合多个绘图。它使用非常直观的方法来组合图。 例如,如果您有
plot1
plot2
,则
plot1+plot2
将生成这两个并排的新绘图,而
plot1/plot2
将生成一个低于另一个的绘图


查看:

嗨,本杰明,欢迎来到Stack Overflow。问题应提供一个最小的可重复示例。因为它是代码中可能最小的部分。在其他人可以运行您的代码的意义上是可复制的。我认为不太可能有人能帮助你,因为你的代码太长了,更重要的是,我们无法运行它。请重新格式化您的问题,以包含您需要帮助的绝对最小部分,以及您可以运行的数据样本。有关更多信息,请参阅。