我想更改ggplot2中的默认配色方案。也就是说,我想在脚本中的一点定义一种配色方案(例如:viridis),以便所有后续ggplot图都将使用此配色方案,而不必每次都调用+ scale_color_viridis()
。
我见过this SO post具有update_geom_defaults(geom, new)
的特征,但是我找不到一种方法来解释使用像viridis这样的方案的功能。
我也尝试过更新ggplot的颜色,类似于this post,但是,正如@baptise指出的那样,这种方法实际上不起作用。
简而言之:
定义新的配色方案,例如viridis
随后在不添加+ scale_color_viridis()
的情况下调用ggplot,但此ggplot图仍使用viridis配色方案。
答案 0 :(得分:3)
看起来
options(ggplot2.continuous.colour="viridis")
将执行您想要的操作(即ggplot将查找名为
的色标scale_colour_whatever
...)
library(ggplot2)
opts <- options(ggplot2.continuous.colour="viridis")
dd <- data.frame(x=1:20,y=1:20,z=1:20)
ggplot(dd,aes(x,y,colour=z))+geom_point(size=5)
options(oldopts) ## reset previous option settings
对于离散比例,对this question(用您选择的默认值重新定义scale_colour_discrete
函数)的答案似乎效果很好:
scale_colour_discrete <- function(...) {
scale_colour_brewer(..., palette="Set1")
}