具有多个虚拟变量的饼图
Pie chart with multiple dummy variables
假设有 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)
然而它只绘制了一个变量的饼图。
谢谢
我认为这段代码执行了您想要的情节。在制作情节之前,我使用 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())
我认为您需要先旋转 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)
假设有 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)
然而它只绘制了一个变量的饼图。 谢谢
我认为这段代码执行了您想要的情节。在制作情节之前,我使用 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())
我认为您需要先旋转 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)