首页 > 解决方案 > 如何遍历 ggplot2 中变量中的值/因子?

问题描述

使用iris数据集..

示例代码和功能:

plotfunction <- function(whatspecies){

baz <- iris %>% filter(Species == whatspecies) %>% 
  ggplot(aes(Petal.Width, Petal.Length)) +
  geom_point() +
  labs(title = whatspecies)

ggsave(filename = paste0(whatspecies,".png"), 
       path = getwd())

return(baz)

}

我想做的是循环Species变量以在我的工作目录中创建 3 个图。在我的真实数据框中,我有更多的因素,所以我想知道是否有更好的方法来做到这一点,而不是运行函数 n 次 - 因为在这种情况下,我只关心修改/循环每个图中的一个变量.

编辑:在我的情况下,我需要独立的情节,所以我不能使用方面或不同的美学。

标签: rfor-loopggplot2

解决方案


这是你想要的?

library(dplyr)
library(ggplot2)

for (sp in levels(iris[["Species"]])) {
  plotfunction(sp)
}

推荐阅读