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