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

标签 r ggplot2

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

我见过this SO post特色 update_geom_defaults(geom, new) ,但我找不到解释这个函数的方法来使用诸如 viridis 之类的方案。

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

简而言之:

  • 定义新的配色方案,例如,viridis
  • 随后调用 ggplot 而不添加 + scale_color_viridis()但是这个 ggplot 图仍然使用了 viridis 配色方案。
  • 最佳答案

    看起来像

    options(ggplot2.continuous.colour="viridis")
    
    会做你想做的事(即 ggplot 会寻找一个名为
    scale_colour_whatever

    where whatever is the argument passed to ggplot2.continuous.colourviridis in the above example).

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

    关于r - 如何更改ggplot2中的默认配色方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750310/

    相关文章:

    r - R 中使用 ggplot2 进行对数缩放

    r - x[j] : invalid subscript type 'list' while using subset in R 中的错误

    r - R中的累积乘法加上额外的常数

    使用条件减少 'while loop'

    r - gganimate 情节没有显示和保存一堆 .png 的

    r - 准确设置 ggsave 的大小

    r - 在散点图上打印相关系数

    在 R 中按组记录连续天数

    r - 不知道如何自动为 yearqtr 类型的对象选择比例

    r - 将英语数字转换为 ggplot 的波斯数字