带有ggplot2的饼图,计算条目的出现次数

问题描述 投票:0回答:1

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

在我的示例中,我有一个Excel,可以从中提取列并在列中显示值,例如,名为“ discipline”的列具有值:

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

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

discipline1, discipline2, discipline3

使用饼图。

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

r ggplot2 plot pie-chart
1个回答
0
投票

这是否回答了您的问题?

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)

0
投票

您可以简单地将coord_polar(theta='y')添加到geom_bar的末尾:

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")

“”

数据:] >>

discipline <- c("discipline1", "discipline2", "discipline3", "discipline1", 
                "discipline1", "discipline2", "discipline2", "discipline2", 
                "discipline2", "discipline2", "discipline3", "discipline3")
© www.soinside.com 2019 - 2024. All rights reserved.