我想做的事
我目前有一个用于我的绘图的自定义主题,并且我希望在此之上为所有类型的绘图提供一些预定义的参数。我首先关注的是条形图,我想在其中更改默认宽度。
ggplot2 中 geom_bar 的默认宽度是“默认情况下,设置为数据分辨率的 90%。 ”(http://ggplot2.tidyverse.org/reference/geom_bar.html)。
我想将该默认值更改为75%。需要明确的是,我对像这样更改它不感兴趣:
geom_bar(stat='identity', width=0.75)
因为这意味着我每次创建条形图时都必须指定它。我希望它成为新的默认值。
到目前为止我尝试了什么
我尝试使用以下方法更改宽度默认值:
update_geom_defaults("bar", list(width=0.75))
但后来我收到一条错误消息:Error: Aesthetics must be either length 1 or the same as the data (964): width
. 我在想这可能是因为宽度是根据数据的分辨率计算的,我打电话的时候还没有update_geom_defaults
另外,我还意识到这width
不是 bar 的默认 aes 的一部分:
GeomBar$default_aes
* colour -> NA
* fill -> "grey35"
* size -> 0.5
* linetype -> 1
* alpha -> NA
我的问题是:
- 90% 的默认设置在哪里?
- 我可以以任何方式更改它吗?
- 如果没有,是否有另一种方法可以将一组预定义的参数传递给所有 geom_* 函数?
谢谢 !