本节书摘来异步社区《r数据可视化手册》一书中的第3章,第3.6节,作者:【美】winston chang,更多章节内容可以访问云栖社区“异步社区”公众号查看。
问题
如何调整条形图的条形宽度和条形间距?
方法
通过设定geom_bar()函数的参数width可以使条形变得更宽或者更窄。该参数的默认值为0.9;更大的值将使绘制的条形更宽,反之则是更窄(见图3-13)。
例如,标准宽度的条形图如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLhhDNzcjM0ATN3IjNxMTO2UzNmN2YkJDZkFzM0EGOhN2MkZWMwUmYm9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
窄些的条形图:
ggplot(pg_mean, aes(x=group, y=weight)) + geom_bar(stat="identity", width=1)<code>`</code>
簇状条形图默认组内的条形间距为0。如果希望增加组内条形的间距,则可以通过将width设定得小一些,并令position_dodge的取值大于width(见图3-14)。
.
更窄的簇状条形图可运行:
ggplot(cabbage_exp, aes(x=date, y=weight, fill=cultivar)) +
geom_bar(stat="identity", width=0.5, position=position_dodge(0.7))<code>`</code>
第一幅图的绘图命令中用到了参数position="dodge",第二幅图的绘图命令中用到的参数是position=position_dodge()。这是因为position="dodge"是参数默认为0.9的position_dodge()的简写。当我们需要单独指定该参数的时候,必须输入完整的命令。
讨论
width参数的默认值是0.9,position_dodge函数中width参数的默认值也是0.9。更确切地说,position_dodge函数和geom_bar()函数中的width参数的取值是一样的。
下面的四个命令是等价的: