waterfalls包瀑布图问题:Total列边框无效、Y轴标签不显示
问题描述
我正在使用waterfalls包绘制瀑布图,使用的数据如下:
| Factors | Cost |
|---|---|
| Start | 119.19 |
| Differential A | -25.4 |
| Move | -0.832 |
| EQ | -5.70 |
| Differential (Premium) | 4.93 |
| Transportation | -7.37 |
执行的代码:
waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, total_rect_color="grey", rect_border=NA) + labs(y="Cost", title ="Waterfall", x=NULL)
遇到两个问题:
rect_border=NA的设置未应用到Total列- Y轴标签未显示
问题原因与解决办法
1. Total列未应用rect_border=NA的原因
waterfalls包中,rect_border参数仅控制普通数据项的矩形边框,Total对应的矩形是单独处理的,需要用专门的total_rect_border参数来设置它的边框。如果要让Total列也去掉边框,需在代码中添加该参数并设为NA。
修改后的核心代码片段:
waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, total_rect_color="grey", rect_border=NA, total_rect_border=NA)
2. Y轴标签未显示的原因
waterfalls包的waterfall()函数内部有默认的Y轴文本设置,会覆盖labs()中指定的Y轴标签。解决办法是直接在waterfall()函数中通过ylab参数指定Y轴标签,而非依赖labs()。
整合后的完整代码:
waterfall(wf, calc_total=TRUE, rect_width=.4, fill_by_sign=TRUE, total_rect_color="grey", rect_border=NA, total_rect_border=NA, ylab="Cost") + labs(title ="Waterfall", x=NULL)
内容的提问来源于stack exchange,提问作者zxcvfi
相关产品推荐
相关产品推荐

