r - 为什么我列表中的所有 ggplots 看起来都一样?
问题描述
我正在尝试用 ggplot2 批量生产地块。也就是说,因为我不想通过一些小的编辑来复制和粘贴相同的代码行 35 次。
为了实现这一点,我设置了一个 for 循环,它创建了 35 个不同的图(通过在每个循环循环中使用来自不同变量的数据)。然后将生成的图存储在一个长度已经为 35 的列表中。现在,当我查看所述列表的不同元素时,它显示了我迄今为止尝试过的列表的所有元素中完全相同的图。我肯定知道,例如,在现场没有。列表中的第 1 个,应该有与当前不同的情节。
我已经创建了一些单独的图,例如:
p1 <- ggplot(predval, aes(x = theta, y = predval[,2])) +
geom_line() +
coord_cartesian(ylim = c(0,1)) +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
legend.position = "none") +
scale_y_continuous(labels = scales::percent)
(注意:我使用数据集“predval”的第 2 列来绘制 y 轴,因为第 1 列包含用于 x 轴的“theta”变量。这就是为什么我使用第 2 列来绘制第 1 号图。 )
这工作就好了。为了避免这样做 35 次,我尝试创建一个循环(见下文)。但是,当我运行循环时,列表中充满了相同图的 35 个副本。为什么会这样,我该如何解决?
plotlist[[1]] <- NA # to create the plotlist
for (i in 1:35){
plotlist[[i]] <- NA # give it length 35
}
for (i in 1:35){ # 35 cycles for 35 plots
plotlist[[i]] <- ggplot(predval, aes(x = theta, y = predval[,i+1])) +
geom_line() +
coord_cartesian(ylim = c(0,1)) +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
legend.position = "none") +
scale_y_continuous(labels = scales::percent)
}
我希望收到一个完整的列表,其中包含可用于 ggarrange 的“plotlist”参数的不同 ggplots。
## 编辑qdread 的建议对我来说非常有效!非常感谢!:D
解决方案
推荐阅读
- javascript - 在 JavaScript 上使用 Jenkins REST /stop 给了我 CORS
- r - 如何从每个类别 Z 的 X 总数中绘制 X 每个 Y 的百分比
- powershell - Powershell - “Toggle”的官方祝福动词
- javascript - CSS网格:嵌套网格弄乱了高度
- python - 如何到达 bestbound 和 mipgap (CPLEX_CMD)?
- python - 如何解析guess_language来阅读30000条推文?
- html - 修改ngx-charts的内部CSS
- ruby - 如何使用 Nokogiri 对 XML 文件进行许多更改
- javascript - 无法使用 ajax 和 php 上传任何图像文件
- android - Android Studio:钻石布局