【问题标题】:ggplot2() bar chart fill argumentggplot2() 条形图填充参数
【发布时间】:2017-11-19 23:30:54
【问题描述】:

我有一个数据框,其中包含两个分类变量,称为验证和过程。

我想在 x 轴上制作一个带有过程的条形图,并在 y 轴上制作相应的百分比而不是计数。此外,我希望验证成为酒吧的填充物。

问题是当我尝试使用填充参数时它没有工作。我当前的代码让我得到的条形都是灰色的,带有一条黑线(尽管没有填充参数,但黑线似乎表示已验证的级别???)。相反,我希望关卡有不同的颜色。

谢谢!

起点(df):

df <- data.frame(verified=c("small","large","small","small","large","small","small","large","small"),procedure=c(1,2,1,2,1,2,2,2,2)) 

当前代码:

library(dplyr)
library(gglot2)
df  %>%
  count(procedure,verified) %>%
  mutate(prop = round((n / sum(n))*100),2)  %>%
  group_by(procedure)  %>% 
    ggplot(aes(x = procedure, y = prop)) +
    geom_bar(stat = "identity",colour="black") 

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    只需将fill = verified 添加到您的初始aes 或在您的geom_bar

    # common elements
    g_df <- df %>%
      count(procedure, verified) %>%
      mutate(prop = round((n / sum(n)) * 100), 2) %>%
      group_by(procedure)
    
    # fill added to initial aes
    g1 <- ggplot(g_df, aes(x = procedure, y = prop, fill = verified)) +
      geom_bar(stat = "identity", colour = "black")
    
    # fill added to geom_bar
    g2 <- ggplot(aes(x = procedure, y = prop)) +
      geom_bar(aes(fill = verified), stat = "identity", colour = "black")
    

    g1g2 在下面生成相同的图

    正如 eipi10 在 cmets 中对我的回答所建议的那样,您可以通过将 xaxis 设为 factor 来清理它,这是对下面代码的修改。

    df %>%
      count(procedure, verified) %>%
      mutate(prop = n / sum(n)) %>%
      ggplot(aes(x = factor(procedure), y = prop, fill = verified)) +
      geom_bar(stat = "identity", colour = "black") +
      labs(x = "procedure", y = "percent")
    

    生产

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多