如何为R语言ggpie绘制的饼图标签添加百分比(%)符号
解决方案
你可以通过以下三种方式实现标签添加百分号的需求:
方法1:修改原始数据列(适合不需要保留prop为数值类型的场景)
提前将prop列的数值后拼接百分号,再运行原有绘图代码即可:
# 为prop列添加百分号 s$prop <- paste0(s$prop, "%") # 原有绘图代码无需修改其他参数 ggpie(s, x="costes", label ="prop", lab.pos = "in", fill = "Implementation", lab.font = list(size= 5)) + scale_fill_manual(values = c("dodgerblue2","blue"))
方法2:绘图时动态生成标签(推荐,不改动原始数据)
直接在ggpie的label参数中拼接百分号,不需要修改原数据:
ggpie(s, x="costes", label = paste0(prop, "%"), lab.pos = "in", fill = "Implementation", lab.font = list(size= 5)) + scale_fill_manual(values = c("dodgerblue2","blue"))
方法3:使用scales包格式化(适合比例为0-1小数的通用场景)
如果后续你的比例数据是0-1区间的小数,可直接用scales包的百分比格式化函数,适配性更强:
# 先加载scales包,未安装需先运行install.packages("scales") library(scales) # accuracy参数控制保留小数位数 ggpie(s, x="costes", label = percent(prop/100, accuracy = 0.1), lab.pos = "in", fill = "Implementation", lab.font = list(size= 5)) + scale_fill_manual(values = c("dodgerblue2","blue"))
内容的提问来源于stack exchange,提问作者Isma Soto Almena
相关产品推荐
相关产品推荐

