如何让ggplot2直方图Y轴原点为0并消除多余黑线
ggplot2直方图优化:消除轴间隙与多余黑线
针对你提到的两个问题,以下是具体解决方法和修改后的代码:
问题1:将Y轴原点设为0,消除柱子底部与X轴的间隙
添加scale_y_continuous(expand = c(0, 0)),该参数会移除Y轴默认的上下扩展空间,强制Y轴从0开始,让直方图柱子底部直接贴合X轴。
问题2:保留柱子黑色轮廓,消除零线上的额外黑线
设置color="black"后出现的零线上黑线,是柱子底部的轮廓线在Y轴间隙中显示导致的。结合上述expand = c(0, 0)的设置,柱子底部会与X轴的黑色轴线重合,这条底部轮廓线会被X轴覆盖,自然消除额外黑线。
修改后的完整代码
library(ggplot2) ggplot(data = sifdat, mapping = aes(x = diff, fill = fdate)) + geom_histogram(binwidth = 0.01, color = "black", position = "dodge") + scale_fill_manual(values = c("red", "blue")) + # 强制Y轴从0开始,消除柱子与X轴的间隙 scale_y_continuous(expand = c(0, 0)) + theme( legend.position = c(1, .15), # 修正图例位置参数(原参数c(15, .15)超出合理范围) panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = "black") )
内容的提问来源于stack exchange,提问作者KodiakMFL
相关产品推荐
相关产品推荐

