能否在R中绘制目标百分比样式图表,有哪些可用的相关R包?
R绘制百分比类图表的实现方案
你所需的这类百分比格式图表,可通过以下R包实现:
- 通用方案:
ggplot2
作为R生态最常用的可视化工具,支持自定义绘制各类百分比堆叠条形图、瀑布图、百分比分类对比图等,直接适配你现有的百分比数据源,操作流程如下:- 先用
tidyr包的pivot_longer()函数将宽格式数据转为长格式 - 绘制百分比堆叠条形图时,在
geom_bar()中设置position = "fill"即可自动生成百分比纵轴,无需额外转换数值 - 如需添加百分比标签,搭配
geom_text()设置position = position_fill(vjust = 0.5)即可实现标签在对应区块居中显示
参考代码片段:
# 安装依赖包(首次使用执行) install.packages(c("ggplot2", "tidyr", "scales")) # 加载包 library(ggplot2) library(tidyr) library(scales) # 示例数据,替换为你自己的数据集即可 df <- data.frame( 分类 = c("类别1", "类别2", "类别3", "类别4"), 分组A占比 = c(20, 35, 15, 40), 分组B占比 = c(80, 65, 85, 60) ) # 转换为长格式数据 df_long <- pivot_longer(df, cols = -分类, names_to = "分组", values_to = "百分比") # 绘图 ggplot(df_long, aes(x = 分类, y = 百分比/100, fill = 分组)) + geom_bar(stat = "identity", position = "fill") + geom_text(aes(label = paste0(百分比, "%")), position = position_fill(vjust = 0.5)) + scale_y_continuous(labels = percent_format()) + labs(y = "总占比") - 先用
- 特定场景适配包
- 如果要绘制百分比瀑布图,可使用
waterfalls包,直接传入百分比数值即可生成对应效果 - 如果要绘制百分比桑基流转图,可使用
ggalluvial包,适配分类维度的占比流转展示
所有上述包都可以通过install.packages()直接安装,你可以根据你的具体图表需求调整对应的绘图参数即可。
- 如果要绘制百分比瀑布图,可使用
内容的提问来源于stack exchange,提问作者BR27
相关产品推荐
相关产品推荐

