程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了通过迭代 for 循环创建单个图,将图拼凑在一起大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决通过迭代 for 循环创建单个图,将图拼凑在一起?

开发过程中遇到通过迭代 for 循环创建单个图,将图拼凑在一起的问题如何解决?下面主要结合日常开发的经验,给出你关于通过迭代 for 循环创建单个图,将图拼凑在一起的解决方法建议,希望对你解决通过迭代 for 循环创建单个图,将图拼凑在一起有所启发或帮助;

我想编写一个 for 循环来生成一个绘图网格(就像使用拼凑时一样)。我想为 color_List 数据框中的每个项目运行循环并将其用作美学。

我设法编写了循环,但不确定如何保留所有情节并将它们放在最后。

color_List <- data.frame(color = c("red","blue","green","yellow"))

for(row in 1:nrow(color_List)) {
  data %>%
    ggplot(aes(x=x,y=y,color = color_List[row,]$color)) +
    geom_line()
}

解决方法

你在找这个吗,如果我误解了你的问题,请告诉我:

library(tidyversE)
library(patchwork)
reduce( map(color_list$color,~ggplot(mtcars,aes(x=mpg,y=drat)) +
  geom_line(color=.X)),`+`)

说明: patchwork 库使用 plus 运算符将图加在一起,知道这一点我们可以使用 reduce 来收集所有图并将它们加在一起类似于 g1 + g2 + g3 ....,注意,我说的是相似不一样,reduce 本质上确实是 reduce通过一次输入到一个对象,然后再次获取结果并应用于下一个对象,依此类推。其中 g1 , g2 和 g3 是 ggplot 对象。在这里,我使用了 mtcars 数据来做同样的事情。这里的这些 g1、g2、g3 等是由 map 函数通过迭代颜色创建的。

输出

通过迭代 for 循环创建单个图,将图拼凑在一起

,

可以创建绘图列表并将其传递给您正在使用的任何绘图库。例如,使用 patchwork::wrap_plots 你可以:

do.call(patchwork::wrap_plots,lapply(color_list$color,function(X) {
  ggplot(data,aes(x=x,y=y)) +geom_line(color = X)
})) -> plot

plot

通过迭代 for 循环创建单个图,将图拼凑在一起

数据

color_list <- data.frame(color = c("red","blue","green","yellow"))
data <- data.frame(x = rnorm(5),y = rnorm(5))

大佬总结

以上是大佬教程为你收集整理的通过迭代 for 循环创建单个图,将图拼凑在一起全部内容,希望文章能够帮你解决通过迭代 for 循环创建单个图,将图拼凑在一起所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:for