我想更改ggplot2中的默认颜色方案.也就是说,我想在脚本的一个点定义一个颜色方案(比如说:viridis),这样所有后续的ggplot图都将使用这种颜色方案,而不必+ scale_color_viridis()每次调用.
我已经看过这篇SO帖子了update_geom_defaults(geom, new),但我找不到解释这个函数的方法来使用像viridis这样的方案.
我也尝试更新ggplot颜色,类似于这篇文章,但是,正如@baptise所指出的,这种方法并不真正起作用.
简而言之:
定义新的配色方案,例如,viridis
随后调用ggplot而不添加,+ scale_color_viridis()但这个ggplot图仍使用viridis颜色方案.
看起来像
\noptions(ggplot2.continuous.colour="viridis")\nRun Code Online (Sandbox Code Playgroud)\n会做你想做的事(即 ggplot 将寻找一个名为
\n比例_颜色_随便\n
其中是上面示例中传递给\xe2\x80\x94whatever的参数)。ggplot2.continuous.colourviridis
library(ggplot2)\nopts <- options(ggplot2.continuous.colour="viridis")\ndd <- data.frame(x=1:20,y=1:20,z=1:20)\n\nggplot(dd,aes(x,y,colour=z))+geom_point(size=5)\noptions(oldopts) ## reset previous option settings\nRun Code Online (Sandbox Code Playgroud)\n对于离散尺度,这个问题的答案(scale_colour_discrete使用您选择的默认值重新定义函数)似乎效果很好:
scale_colour_discrete <- function(...) {\n scale_colour_brewer(..., palette="Set1")\n}\nRun Code Online (Sandbox Code Playgroud)\n