Ggplot2:不在饼图标签中显示 0 值

Ggplot2 : do not display 0 value in pie chart labels

我想制作一个不显示 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))

这是结果: Pie chart

有什么解决办法不显示0值标签吗?

您可以用 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))