R语言ggplot2 调整柱状图 柱子的间距

我们在使用ggplot2绘制柱状图时,经常会遇到两个柱子之间距离过宽,通过调整柱子宽度去调整间距时又会失去美感,像下面这样

data
# A tibble: 5 x 2
  lable number
  <chr>  <dbl>
1 a          5
2 b          6
3 c          4
4 d          8
5 e         10

ggplot(data,aes(lable, number, fill='#E29969'))+
  geom_bar(stat="identity",position="dodge",width = 0.05)#图一

ggplot(data,aes(lable, number, fill='#E29969'))+
  geom_bar(stat="identity",position="dodge",width = 0.3)#图二

图一
图一
图二
图二

那么如何在不改变柱子宽度的情况下调整柱子之间的间距呢?其实可以将横坐标转换成连续的变量,这样就可以通过调整变量的大小改变柱子的间距,示例如下

data
# A tibble: 5 x 3
  lable     X number
  <chr> <dbl>  <dbl>
1 a       0.2      5
2 b       0.3      6
3 c       0.4      4
4 d       0.5      8
5 e       0.6     10

# 图三
ggplot(data,aes(X, number, fill='#E29969'))+
  geom_bar(stat="identity",position="dodge",width = 0.05)+ #设定柱子宽度
  scale_x_continuous(limits=c(0.1,0.7),breaks=c(0.2,0.3,0.4,0.5,0.6), labels = c('a','b','c','d','e'))#设置x轴的范围,将x轴的刻度替换成相应的标签



#图四
ggplot(data,aes(X, number, fill='#E29969'))+
  geom_bar(stat="identity",position="dodge",width = 0.05)+#设定柱子宽度
  scale_x_continuous(limits=c(0.1,1.1),breaks=c(0.2,0.3,0.4,0.5,0.6), labels = c('a','b','c','d','e'))#设置x轴的范围,将x轴的刻度替换成相应的标签

可以调整X轴的范围来调整柱子的距离

图三
图三

图四
图四

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值