R中并排的两个饼图
Two piecharts side by side in R
我需要两个饼图并排显示德国两个县的 Covid19 病例、治愈和死亡百分比。左一县右一县
到目前为止,我的代码如下所示:
RKI_COVID19 %>%
group_by(Landkreis) %>%
summarise(fraction_active = (sum(AnzahlFall)-sum(AnzahlGenesen))/sum(AnzahlFall),
fraction_cured = sum(AnzahlGenesen)/sum(AnzahlFall),
fraction_death = sum(AnzahlTodesfall)/sum(AnzahlFall)) %>%
subset(Landkreis == "SK Wolfsburg" | Landkreis == "SK Münster") %>%
gather("Type", "Value", -Landkreis) %>% # convert to long format
ggplot(aes(Landkreis, Value, fill = Type)) +
geom_col(position = "dodge") +
geom_bar(stat = "identity", position = position_fill()) +
geom_text(aes(label = round(Value, 2)), size = 3, position = position_fill(vjust = 0.5)) +
facet_wrap(~Landkreis) +
coord_polar("y")
在 subset() 之后我有我感兴趣的所有值:
Landkreis fraction_active fraction_cured fraction_death
<chr> <dbl> <dbl> <dbl>
1 SK Münster 0.108 0.892 0.0115
2 SK Wolfsburg 0.129 0.871 0.118
通过使用 gather(),我将它们转换为长格式并创建两个并排的条形图。
这很好用。
在最后两行中使用 facet_wrap() 和 coord_polar() 时出现问题。
然后我的饼图看起来像这样:
One small and one donut pie-chart
知道如何创建两个大小相同的饼图吗?
我用一个我刚刚命名为“n”的虚拟变量实现了这一点:
df = tribble(
~n, ~cat, ~act, ~cur, ~dea,
1, "A", 0.1, 0.8, 0.1,
1, "B", 0.05, 0.9, 0.05
) %>%
pivot_longer(cols = c(act,cur,dea))
ggplot(df, aes(n, value, fill = name)) +
geom_bar(stat = "identity", position = position_fill()) +
geom_text(aes(label = round(value, 2)), size = 3, position = position_fill(vjust = 0.5)) +
facet_wrap(~cat) +
coord_polar("y")
这给了我:
然后您可以使用 theme()
删除“n”轴
我需要两个饼图并排显示德国两个县的 Covid19 病例、治愈和死亡百分比。左一县右一县
到目前为止,我的代码如下所示:
RKI_COVID19 %>%
group_by(Landkreis) %>%
summarise(fraction_active = (sum(AnzahlFall)-sum(AnzahlGenesen))/sum(AnzahlFall),
fraction_cured = sum(AnzahlGenesen)/sum(AnzahlFall),
fraction_death = sum(AnzahlTodesfall)/sum(AnzahlFall)) %>%
subset(Landkreis == "SK Wolfsburg" | Landkreis == "SK Münster") %>%
gather("Type", "Value", -Landkreis) %>% # convert to long format
ggplot(aes(Landkreis, Value, fill = Type)) +
geom_col(position = "dodge") +
geom_bar(stat = "identity", position = position_fill()) +
geom_text(aes(label = round(Value, 2)), size = 3, position = position_fill(vjust = 0.5)) +
facet_wrap(~Landkreis) +
coord_polar("y")
在 subset() 之后我有我感兴趣的所有值:
Landkreis fraction_active fraction_cured fraction_death
<chr> <dbl> <dbl> <dbl>
1 SK Münster 0.108 0.892 0.0115
2 SK Wolfsburg 0.129 0.871 0.118
通过使用 gather(),我将它们转换为长格式并创建两个并排的条形图。 这很好用。
在最后两行中使用 facet_wrap() 和 coord_polar() 时出现问题。
然后我的饼图看起来像这样:
One small and one donut pie-chart
知道如何创建两个大小相同的饼图吗?
我用一个我刚刚命名为“n”的虚拟变量实现了这一点:
df = tribble(
~n, ~cat, ~act, ~cur, ~dea,
1, "A", 0.1, 0.8, 0.1,
1, "B", 0.05, 0.9, 0.05
) %>%
pivot_longer(cols = c(act,cur,dea))
ggplot(df, aes(n, value, fill = name)) +
geom_bar(stat = "identity", position = position_fill()) +
geom_text(aes(label = round(value, 2)), size = 3, position = position_fill(vjust = 0.5)) +
facet_wrap(~cat) +
coord_polar("y")
这给了我:
然后您可以使用 theme()