【问题标题】:Pie chart with multiple dummy variables具有多个虚拟变量的饼图
【发布时间】:2020-02-06 19:25:59
【问题描述】:

假设有 4 个人和 3 个组(A、B、C),1 表示它属于 X 组,其他情况下为 0。假设我们有一个这样的数据库:

# A  B  C
1 0  0  1
2 0  1  0
3 1  0  0
4 1  0  0

我想做的是一个包含每个组的饼图。

我尝试的代码是

ggplot(data, aes(x="", y=data$A)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0)

但是它只绘制一个变量的饼图。 谢谢

【问题讨论】:

  • 请包含您正在尝试的代码并说明问题或错误是什么

标签: r plot new-operator pie-chart


【解决方案1】:

我认为这段代码执行了你想要的情节。在制作情节之前,我使用pivot_longer 进行了一些重新编码。

library(tidyverse)
df %>%
  pivot_longer(cols = c(A,B,C),
               names_to = "group",
               values_to = "people") %>%
  group_by(group) %>%
  summarize(Sumppl = sum(people)) %>%
  ggplot(aes(x="", y = Sumppl, fill = group)) +
  geom_bar(stat = "identity",width = 1, position = "stack")+
  coord_polar("y") + 
  theme_minimal()+
  theme(axis.text.x=element_blank())

【讨论】:

    【解决方案2】:

    我认为您需要先旋转 df:

    df  <- data.frame(ID = c(1, 2, 3, 4),  A = c(0, 0, 1, 1), B = c(0, 1, 0, 0), C = c(1, 0, 0, 0)) 
    
    df  %>% 
          pivot_longer(2:4, names_to = "group", values_to = "value") %>% 
          ggplot(aes(x="", y=value, fill=group))+
          geom_bar(width = 1, stat = "identity")+
          coord_polar("y", start=0)
    

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2013-11-06
      • 2018-02-23
      • 2017-10-24
      • 2019-03-02
      • 1970-01-01
      • 2016-11-30
      • 2013-02-07
      • 2021-06-11
      相关资源
      最近更新 更多