【问题标题】:Pie chart with ggplot2, counting the occurrences of entries带有ggplot2的饼图,计算条目的出现次数
【发布时间】:2020-01-26 21:03:27
【问题描述】:

我希望能够在 R 中使用 ggplot2 制作“饼图”,但要计算某个数据出现的次数。

在我的示例中,我有一个 Excel,我从中提取一列以及列中出现的值,例如名为“纪律”的列具有以下值:

discipline1, discipline2, discipline3, discipline1, discipline1, discipline2,
discipline2, discipline2, discipline2, discipline2, discipline3, discipline3. 

所以我要绘制的是每个值出现的百分比:

discipline1, discipline2, discipline3

使用饼图。

对于条形图,我使用了值stat="count",但我在饼图中看到我不能。

例如,我尝试过这样的事情:

ggplot(df, aes(x = "", y = as.factor(df[,discipline]), 
               fill = as.factor(df[,discipline]))) +
  geom_bar(width = 1, stat = "identity", color = "white") +
  coord_polar("y", start = 0)+
  geom_text(aes(y = as.factor(df[,discipline]), 
                label = as.factor(df[,discipline])), color = "white")+
  scale_fill_manual(values =c("#0073C2FF", "#EFC000FF", "#868686FF"))+
  theme_void()

【问题讨论】:

  • 欢迎来到 Stack Overflow!您应该提供reproducible example。详细阅读链接,以便您可以提供数据集的示例以及到目前为止的内容(我猜您在ggplot 中有一个饼图代码不起作用,您应该分享它)。干杯。
  • 遵循 @M-- 的好建议...如果我是你,我会将你的数据子集保存为 csv 文件(或类似格式的测试数据集),然后粘贴在您的主要问题的代码块中,以便其他人可以从中构建答案。话虽如此,当使用stat = "identity" 时,您只需事先手动计算计数。在我的脑海中......我相信df.count = as.data.frame(table(df))中使用的table函数可能会为您提供所需的格式。这只是一个快速的猜测......
  • 感谢您的edit。它帮助我更好地理解你的问题。我们通常需要一个与名为dput 的函数共享的示例数据集(我分享的上一个链接,谈到了它)。但是在这里我能够将您的文本复制为数据。请看下面我的回答,希望对您有所帮助。我将在关于您的数据的回答下方添加评论。

标签: r ggplot2 plot pie-chart geom-text


【解决方案1】:

您可以在geom_bar 之后简单地添加coord_polar(theta='y')

library(ggplot2)

ggplot(data=as.data.frame(discipline), 
        aes(x = factor(1),fill = factor(discipline))) + 
  geom_bar(stat = "count") + 
  scale_y_continuous(breaks = seq(0,12,3), labels = c("0", "25%", "50%", "75%", "100%")) + 
  coord_polar(theta='y') +
  theme(axis.text.y = element_blank(), 
        axis.title.y = element_blank(), 
        axis.ticks.y = element_blank(),
        axis.title.x = element_blank()) +
  labs(fill = "Discipline")

更新:

如果你想用geom_text添加标签,我建议用不同的方法代替stat = 'count';见下文:

library(dplyr)
library(ggplot2)
library(scales)

data.frame(discipline) %>% 
  group_by(discipline) %>% 
  mutate(cnt = n(),
         pct = percent(cnt / nrow(.), accuracy = 1)) %>%
  unique %>% ungroup %>% 
  mutate(place = cumsum(cnt) - cnt/2) %>% 
ggplot(data = ., 
         aes(x = factor(1), weight = cnt, fill = factor(discipline))) + 
  geom_bar(position = "stack") + 
  scale_y_continuous(breaks = seq(0, length(discipline), length(discipline)/4), 
                     labels = c("0", "25%", "50%", "75%", "100%")) + 
  coord_polar(theta='y') +
  geom_text(aes(x = 1.1, y = place, label = pct)) +
  theme(axis.text.y = element_blank(), 
        axis.title.y = element_blank(), 
        axis.ticks.y = element_blank(),
        axis.title.x = element_blank()) +
  labs(fill = "Discipline")

数据:

discipline <- c("discipline1", "discipline2", "discipline3", "discipline1", 
                "discipline1", "discipline2", "discipline2", "discipline2", 
                "discipline2", "discipline2", "discipline3", "discipline3")

【讨论】:

  • 使用您的数据,您可能需要这样做df %&gt;% select(discipline),而不是我在回答中的data.frame(discipline)。但是,我分享了我在回答中使用的数据,以强调分享可重复示例的重要性。干杯。
【解决方案2】:

这能回答你的问题吗?

library(tidyverse)

# sample data
df <- tibble(discipline = paste0("discipline", sample(1:3, 20, replace = T))) %>%
  count(discipline)

# creating a pie chart
ggplot(df, aes(x="", y= n , fill=discipline))+
  geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0)

【讨论】:

    【解决方案3】:

    第一条评论对我来说并不完全有效

    我写道:

    ggplot(df,aes(x= factor(1), fill= factor(df[,discipline])))+
      geom_bar(stat="count")+ 
     scale_y_continuous(breaks = seq(0,12,3), labels = c("0", "25%", "50%", "75%", "100%")) + 
      coord_polar(theta='y') +
      theme(axis.text.y = element_blank(), 
            axis.title.y = element_blank(), 
            axis.ticks.y = element_blank(),
            axis.title.x = element_blank()) +
      labs(fill = "Discipline")
    

    我已经获得:

    其中“df”是通过读取 csv 获得的数据帧,而 factor(df[,discipline]) 是:

      [1] Firmware       Container      Management    
      [4] Management     IT             Management    
      [7] Management     Firmware       Firmware      
     [10] Factory        Factory        Factory       
     [13] Factory        Factory        Factory       
     [16] Management     Management     Management    
     [19] Electrical     Electrical     Electrical    
     [22] Factory        Factory        Electrical    
     [25] Container      Mechanical     Electrical    
     [28] Assurance      Management     Management    
     [31] Mechanical     Mechanical     Mechanical    
     [34] Mechanical     Mechanical     Mechanical    
     [37] Lab            Electrical     Electrical    
     [40] Electrical     Assurance      Container     
     [43] Electrical     Assurance      Management    
     [46] Management     Mechanical     Mechanical    
     [49] Factory        Mechanical     Mechanical    
     [52] Mechanical     Mechanical     Mechanical    
     [55] Mechanical     Mechanical     Mechanical    
     [58] Mechanical     Mechanical     Electrical    
     [61] Electrical     Electrical     Factory       
     [64] Factory        Electrical     Electrical    
     [67] Lab            Electrical     Electrical    
     [70] Electrical     Management     Electrical    
     [73] Assurance      Firmware       Firmware      
     [76] Electrical     Electrical     Electrical    
     [79] Electrical     Electrical     Electrical    
     [82] Electrical     Electrical     Electrical    
     [85] Electrical     Electrical     Electrical    
     [88] Electrical     Electrical     Electrical    
     [91] Electrical     Electrical     Electrical    
     [94] Electrical     Factory        Factory       
     [97] Electrical     Electrical     Electrical    
    [100] Electrical     Electrical     Electrical    
    [103] Electrical     Electrical     Electrical    
    [106] Electrical     Electrical     Electrical    
    [109] Electrical     Electrical     Electrical    
    [112] Electrical     Electrical     Electrical    
    [115] Electrical     Electrical     Factory       
    [118] Electrical     Electrical     Electrical    
    [121] Electrical     Electrical     Electrical    
    [124] Electrical     Management     Management    
    [127] Firmware       Electrical     Management    
    [130] Firmware       Electrical                   
    [133]                Software       Assurance     
    [136] Assurance      Assurance      Firmware      
    [139] Firmware       Assurance      Assurance     
    [142] Firmware       Firmware       Firmware      
    [145] Firmware       Container      Container     
    [148] Firmware       Firmware       Firmware      
    [151] Firmware       Firmware       Firmware      
    [154] Firmware       Firmware       Firmware      
    [157] Firmware       Firmware       Firmware      
    [160] Firmware       Firmware       Firmware      
    [163] Firmware       Firmware       Firmware      
    [166] Firmware       Firmware       Firmware      
    [169] Firmware       Firmware       Firmware      
    [172] Firmware       Firmware       Firmware      
    [175] Firmware       Firmware       Firmware      
    [178] Firmware       IT             Management    
    [181] Management     Software                     
    [184]                                             
    [187]                                             
    [190]                               Mechanical    
    [193] Assurance      Assurance      Assurance     
    [196] Assurance      Assurance      Assurance     
    [199] Assurance                     Assurance     
    [202] Assurance      Assurance      Assurance     
    [205] Assurance      Assurance      Assurance     
    [208] Assurance      Assurance      Assurance     
    [211] Assurance      Assurance      Assurance     
    [214] Assurance      Assurance      Assurance     
    [217] Assurance      Assurance      Assurance     
    [220] Assurance      Assurance                    
    [223] IT             IT             IT            
    [226] Management     Management     Management    
    [229] Mechanical     Management     Management    
    [232] Mechanical     Electrical                   
    [235] Mechanical     Mechanical     Mechanical    
    [238] Mechanical     Mechanical                   
    [241]                               Management    
    [244] Management                    Management    
    [247] Electrical     Electrical     Electrical    
    [250] Mechanical     Mechanical     Management    
    [253] Container      Electrical     Container     
    [256] Container      Container      Container     
    [259] Container      Container      Container     
    [262] Electrical     Electrical     Electrical    
    [265] Electrical     Electrical     Electrical    
    [268] Electrical     Firmware       Firmware      
    [271] Firmware       Firmware       Firmware      
    [274] Firmware       Mechanical     Mechanical    
    [277] Container      Assurance      Assurance     
    [280] Assurance      Assurance      Assurance     
    [283] Container                     Management    
    [286] Container      Container      Container     
    [289] Container      Container      Management    
    [292] Management     Electrical     Firmware      
    [295] Factory        Factory        Mechanical    
    [298] Management     Management                   
    [301] Electrical     Electrical     Electrical    
    [304] Electrical     Electrical     Electrical    
    [307]                Management     Management    
    [310] Management     Management     Management    
    [313] Management     Management     Assurance     
    [316] Assurance      Assurance      Research      
    [319] Research       Management     Management    
    [322] Firmware       Electrical     Management    
    [325] Firmware       Electrical     Management    
    [328] Management     Firmware       Electrical    
    [331] Mechanical     Management     Management    
    [334] Management     Management     Management    
    [337] Mechanical     Firmware       Management    
    [340] Mechanical     Firmware       Electrical    
    [343] Management     Management     Management    
    [346] Mechanical     Electrical     Electrical    
    [349] Management     Mechanical     Firmware      
    [352] Electrical     Management                   
    [355] Mechanical     Electrical     Management    
    [358] Firmware                                    
    [361] Mechanical     Mechanical     Mechanical    
    [364] Mechanical     Mechanical     Container     
    [367] Management     Container      Container     
    [370] Management     Electrical     Electrical    
    [373] Electrical     Electrical     Electrical    
    [376] Electrical     Electrical     Electrical    
    [379] Electrical     Electrical     Firmware      
    [382] Firmware       Firmware       Firmware      
    [385] Firmware       Management     Mechanical    
    [388] Mechanical     Mechanical     Management    
    [391]                Assurance      Assurance     
    [394] Assurance      Assurance      Assurance     
    [397] Assurance      Firmware       Electrical    
    [400] Quality                       Quality       
    [403] Quality        Quality        Quality       
    [406] Quality        Firmware       Firmware      
    [409] Assurance      Factory                      
    [412] Software       IT             Lab           
    [415]                IT                           
    [418] IT                                          
    [421]                IT                           
    [424]                Assurance      Assurance     
    [427] Firmware       Firmware                     
    [430] Software       Quality        Electrical    
    [433]                                             
    [436]                                             
    [439] Assurance      Firmware       Firmware      
    [442] Mechanical     Mechanical     SCM           
    [445]                IT             Management    
    [448] Management     Management     Management    
    [451] Factory        Assurance      IT            
    [454]                                             
    [457]                Firmware       Assurance     
    [460] Assurance      Firmware       Assurance     
    [463] Mechanical                    Mechanical    
    [466] Mechanical     IT             IT            
    [469] Assurance      Assurance      Assurance     
    [472] Mechanical                    Assurance     
    [475]                                             
    [478] Electrical                    Mechanical    
    [481] Mechanical     Mechanical     Mechanical    
    [484]                Mechanical     Firmware      
    [487] Assurance      Assurance      Assurance     
    [490] Firmware                      Mechanical    
    [493] Firmware       Assurance      Management    
    [496] Management     Management     Management    
    [499] Management     Assurance      Management    
    [502] Quality        Assurance      Management    
    [505] Assurance      Management     Management    
    [508] Management                                  
    [511]                Electrical     Firmware      
    [514] Mechanical     Assurance      Electrical    
    [517] Electrical     Electrical     Electrical    
    [520] Electrical     Electrical     Electrical    
    [523] Electrical     Electrical     Electrical    
    [526] Electrical     Electrical     Electrical    
    [529] Electrical     Electrical     Electrical    
    [532] Electrical     Firmware       Firmware      
    [535] Firmware       Factory        Firmware      
    [538] Firmware       Firmware       Firmware      
    [541] Firmware       Firmware       Firmware      
    [544] Firmware       Firmware       Firmware      
    [547] Firmware       Firmware       Firmware      
    [550] Mechanical     Mechanical     Mechanical    
    [553] Mechanical     Mechanical     Mechanical    
    [556] Mechanical     Mechanical     Assurance     
    [559] Assurance      Assurance      Assurance     
    [562] Assurance      Assurance      Assurance     
    [565] Assurance      Assurance      Assurance     
    [568] Assurance      Management     Assurance     
    [571] Assurance      Assurance      Factory       
    [574] IT             IT             IT            
    [577] IT             IT             Lab           
    [580] Management     Electrical     Electrical    
    [583]                Mechanical     Firmware      
    [586] Administration Mechanical     Electrical    
    [589] Firmware       Mechanical     AI            
    [592] Lab           
    16 Levels:  Administration AI ... Software
    

    你能告诉我代码有什么问题吗?再次感谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 2021-03-02
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      相关资源
      最近更新 更多