ggplot绘制条形图仅显示坐标轴无条形问题求助
解决ggplot条形图仅显示坐标轴无条形的问题
- 核心问题:你的代码只完成了ggplot的初始数据与映射设置,没有添加绘制条形的几何图层——ggplot需要明确指定用哪种几何对象来可视化数据,否则只会生成空的坐标轴框架。
- 另外你对颜色参数的用法也有偏差:
colour控制的是图形的边框颜色,若要设置条形的填充色,应该用fill参数- 直接指定固定颜色值时,不要放在
aes()内部,否则会被当成变量映射逻辑,而非固定颜色
修正后的代码示例
场景1:Percentage是已计算好的百分比(非原始计数)
用geom_col()适配已汇总的数值:
ggplot(IncomeGroup_count, aes(x = Income_Group, y = Percentage)) + geom_col(fill = 'lightblue') # 设置条形填充色为浅蓝色
场景2:Percentage是原始计数,需ggplot自动计算占比
用geom_bar()配合统计转换实现百分比计算:
ggplot(IncomeGroup_count, aes(x = Income_Group)) + geom_bar(aes(y = after_stat(prop), group = 1), fill = 'lightblue') + scale_y_continuous(labels = scales::percent_format()) # 将Y轴转为百分比格式
关键说明
geom_col():针对提前汇总好数值的数据集,直接映射y轴到汇总值geom_bar():默认对x轴类别做计数统计,适合原始未汇总的数据- 颜色参数放在
aes()外是固定值,放在内部则是根据变量映射不同颜色
内容的提问来源于stack exchange,提问作者Georgia Bingham
相关产品推荐
相关产品推荐

