如何将data.frame转换为grob以绘制多个ggplot图

时间:2020-05-13 22:47:40

标签: ggplot2 plot graph grob

我想使用函数ggarrange(在 ggpubr 中)绘制多个图形。但是,当我尝试这样做时,出现以下错误消息:

在as_grob.default(plot)中: 无法将类data.frame的对象转换为grob。

我用于生成图的数据存储在称为“ valores_result”的矩阵中。然后,将矩阵转换为data.frame并使用ggplot函数绘制图形。代码如下:

A<-valores_result[,c(1,2)]
B<-valores_result[,c(1,3)]
colnames(B) <- colnames(A)
val_zoo<-rbind(A,B)
valores_result <- as.data.frame(valores_result)
val_zoo<-as.data.frame(val_zoo)
ggplot(val_zoo, aes(x = k, y = Biomassa)) + geom_point(size = 2)

我什至尝试使用在此站点的另一个类似问题中发现的以下代码:

ggarrange(plotlist=val_zoo, nrow = 2, ncol=ceiling(length(val_zoo)/2))

但是错误再次出现:

1:在as_grob.default(plot)中: 无法将数字类型的对象转换为grob。 2:在as_grob.default(plot)中: 无法将数字类的对象转换为grob。

我正在绘制称为分叉图的图,它们看起来像这样:

Bifurcation diagram generate from the data.frame val_zoo

因此,要解决此问题,我需要将data.frame对象转换为grob以使用ggarrange函数。是否有人知道如何做或对绘制多个ggplot图有其他想法? 我读到Cowgrid软件包可能是一个解决方案,但是我无法在我的R(4.0)版本中安装Cowgrid软件包。

0 个答案:

没有答案