如何更改ggplot2中的默认配色方案?

时间:2018-12-12 19:44:45

标签: r ggplot2

我想更改ggplot2中的默认配色方案。也就是说,我想在脚本中的一点定义一种配色方案(例如:viridis),以便所有后续ggplot图都将使用此配色方案,而不必每次都调用+ scale_color_viridis()

我见过this SO post具有update_geom_defaults(geom, new)的特征,但是我找不到一种方法来解释使用像viridis这样的方案的功能。

我也尝试过更新ggplot的颜色,类似于this post,但是,正如@baptise指出的那样,这种方法实际上不起作用。

简而言之:

  1. 定义新的配色方案,例如viridis

  2. 随后在不添加+ scale_color_viridis()的情况下调用ggplot,但此ggplot图仍使用viridis配色方案。

1 个答案:

答案 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")
}