首页 > 解决方案 > Ggplot2:不在饼图标签中显示 0 值

问题描述

我正在尝试制作饼图而不显示 0 值标签,但我无法做到。

我的数据:

group <- factor(c("A","B","C","A","B","C","A","B","C","A","B","C"))
prod <-factor(c("Fong","Fong","Fong","Herb","Herb","Herb","Ins","Ins","Ins","Other","Other","Other"))
quant <- c(0,1,0,2,1,1,0,5,3,8,4,6)

df <- data.frame(group, prod, quant)

我的脚本:

library(ggplot2)
ggplot(df, aes(x="", y=quant, fill=prod))+
  geom_col()+
  coord_polar(theta = "y", start=0)+
  facet_wrap(~group)+
  geom_text(aes(label=quant), position=position_stack(vjust=0.5))

这是结果: 饼图

有没有不显示 0 值标签的解决方案?

标签: rpie-chart

解决方案


您可以在数据框上用 NA 替换您的0值,例如dplyr::na_if(0)


df %>% 
  dplyr::na_if(0) %>% 
ggplot(aes(x="", y=quant, fill=prod))+
  geom_col()+
  coord_polar(theta = "y", start=0)+
  facet_wrap(~group)+
  geom_text(aes(label=quant), position=position_stack(vjust=0.5))

推荐阅读