【问题标题】:How to make a ggplot statement into a function如何将 ggplot 语句变成函数
【发布时间】:2022-11-26 08:01:20
【问题描述】:

我目前正在尝试将以下 ggplot 代码写入一个函数,我可以存储该函数并将其重新用于类似的数据集。但是我无法弄清楚如何写这个并包含facet_wrap条件

以下是我当前没有功能的代码

df <- data.frame (pre_post  = c("pre", "post","pre","post","pre","post","pre","post"),
              team = c("Lakers", "Lakers","Miami Heat","Miami Heat","Celtics","Celtics","Warriors","Warriors"),
              median_score_time = c("3", "2","5","7","9","8","2","3"),
              total_plays= c("105","134","90","124","97","106","131","121"))


df %>% ggplot(aes(
  fill=pre_post,
  x=pre_post,
  y=median_score_time,
  label=paste0(median_score_time, "\n(n=",total_plays,")")
)) +
  geom_col(width=0.5) +
  geom_text(vjust=-0.2, size=3) +
  ylab("Median_Minutes_To_Score") +
  xlab("") +
  facet_wrap(~team)

【问题讨论】:

    标签: r function ggplot2 rstudio facet-wrap


    【解决方案1】:

    这是一种使用dplyrggplot2实现功能的方法

    df <-
      data.frame(
        pre_post  = c("pre", "post","pre","post","pre","post","pre","post"),
        team = c("Lakers", "Lakers","Miami Heat","Miami Heat","Celtics","Celtics","Warriors","Warriors"),
        median_score_time = c("3", "2","5","7","9","8","2","3"),
        total_plays= c("105","134","90","124","97","106","131","121")
        )
    
    library(ggplot2)
    library(dplyr)
    
    plot_func <-
      function(data,x_var,y_var,fill_var,lbl_var,fct_var){
        data %>%
          ggplot(aes(
          fill={{fill_var}},
          x={{x_var}},
          y={{y_var}},
          label=paste0({{y_var}}, "
    (n=",{{lbl_var}},")")
        )) +
          geom_col(width=0.5) +
          geom_text(vjust=-0.2, size=3) +
          ylab("Median_Minutes_To_Score") +
          xlab("") +
          facet_wrap(facets = vars({{fct_var}}))
    }
    
    plot_func(
      data = df,
      x_var = pre_post,
      y_var = median_score_time,
      fill_var = pre_post,
      lbl_var = total_plays,
      fct_var = team
        )
    

    【讨论】:

      猜你喜欢
      • 2023-02-13
      • 1970-01-01
      • 2021-04-17
      • 2012-07-12
      • 2018-01-31
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2018-08-15
      相关资源
      最近更新 更多