如何用R将正负值柱状图调整为正负分向显示(含0基准线)
ggplot2正负值柱状图调整方案
- 先确认你的
changes列确实包含正负数值(如果之前误把负值转成了正数,要还原原始数据) - 用以下代码就能实现负值柱子向下、正值向上的效果,同时添加中间的0基准线:
ggplot(fuel_trend, aes(x = fuel_type, y = changes)) + geom_col(position = "identity") + geom_hline(yintercept = 0, color = "black", linewidth = 1)
- 如果柱子还是全部向上,先检查数据:运行
head(fuel_trend)查看changes列,确保有负数值存在 - 可选优化:给正负柱子设置不同颜色,区分更明显:
ggplot(fuel_trend, aes(x = fuel_type, y = changes, fill = changes > 0)) + geom_col(position = "identity") + geom_hline(yintercept = 0, color = "black", linewidth = 1) + scale_fill_manual(values = c("darkred", "darkgreen"), labels = c("下降", "上升")) + labs(fill = "变化趋势")
内容的提问来源于stack exchange,提问作者adam
相关产品推荐
相关产品推荐

