r - 将 for 循环中的 ggplots 组织到单个数组中
问题描述
我使用 for 循环成功地在一年中按月创建了 18 个变量的图(没有 1 月数据),但我只能让它们输出 1×1。我只是想将它们输出为具有 6 行和 3 列的单个图像(页面)。我想从 base-R 和 ggplot 宇宙中做到这一点。以下是成功绘图的代码。我如何排列成数组?
batspp<-names(Monthly_means[7:24])
for(i in batspp){
plt<-ggplot(Monthly_means, aes_string(x="Month", y=i))+geom_col() + scale_x_discrete(limits=c("1","2","3","4","5","6","7","8","9","10","11","12"), label=c("1","2","3","4","5","6","7","8","9","10","11","12"))
print(plt)
}
解决方案
library(gridExtra)
batspp<-names(Monthly_means[7:24])
plt = list()
for(i in batspp){plt[[i]]<-ggplot(Monthly_means, aes_string(x="Month", y=i))+geom_col() + scale_x_discrete(limits=c("1","2","3","4","5","6","7","8","9","10","11","12"), label=c("1","2","3","4","5","6","7","8","9","10","11","12")) }
do.call("grid.arrange",c(plt, nrow=6, ncol=3))
这应该有效
推荐阅读
- java - Spring Boot 4.9.0 ThymeLeaf 自动完成在 Eclipse 中不起作用
- python - boto3 粘合 get_job_runs - 检查响应对象中是否存在特定日期的执行
- python - 根据每个函数应执行的次数在python中随机执行函数
- r - R函数查看多个向量的组合是否与目标向量匹配
- python - 我如何通过来自另一个 python 文件的用户输入来创建类对象
- python - 自动将SAS代码转换为python?
- reactjs - 反应中恼人的API错误,无法弄清楚
- c# - 从带有谓词的列表中删除两个或多个项目
- python - 使 Dask-Yarn 对节点故障更加稳健
- html - HTML/AngularJS - 如何使这个名字、姓氏和电子邮件可编辑?