ggplot2的geom_histogram柱状图与x轴错位,设置boundary=0未解决怎么办
问题根因
- 参数位置错误:
boundary=0是geom_histogram()的分箱控制参数,你误写在了labs()函数内,完全不会生效,相当于没有设置该参数 - 互斥参数同时设置:
binwidth和bins是两个互斥的分箱配置参数,同时指定时bins会被直接忽略,还会产生额外的参数冲突警告 - 边界值和数据范围不匹配:你筛选的是数值大于100的样本,x轴显示范围也设置为100~500,分箱边界设为0会导致第一个有效箱体的对齐逻辑和x轴起始位置不匹配
修正方案
直接修改geom_histogram的参数配置即可,修正后的绘图代码段如下:
ggplot(vector_big_numbers,aes(x = vector_big_numbers))+ # 把boundary放到geom_histogram参数内,删除冲突的bins参数,边界调整为和x轴起始一致的100 geom_histogram(fill="lightblue",color="red",binwidth = 20, boundary = 100)+ labs(title=paste("Histograma de" ,substring(ciutat[j],9), "en l'any",substring(temp[i],6,9)))+ scale_x_continuous(name="Índex de lluminositat", limits=c(100, 500))
补充说明
如果需要箱体完全贴紧x轴左边界,可以额外给scale_x_continuous加expand = c(0,0)参数,去掉x轴两端的默认留白,视觉上对齐效果会更好。
内容的提问来源于stack exchange,提问作者Noether
相关产品推荐
相关产品推荐

