如何使用 RColorBrewer 调色板设置 ggplot 全局颜色主题

How to set ggplot global color themes using RColorBrewer palettes

我正在尝试在我的全局 RMarkdown 文件中设置一个全局 ggplot2 配色方案,我使用以下代码 viridis 成功了

options(
  ggplot2.continuous.colour = "viridis",
  ggplot2.continuous.fill = "viridis"
)
scale_colour_discrete = scale_colour_viridis_d
scale_fill_discrete = scale_fill_viridis_d

但是,当我尝试对 RColorBrewer 使用类似的过程时,我无法这样做,默认颜色仍然显示。我应该进行哪些更改才能使其正常工作?

options(
  ggplot2.continuous.colour = "brewer",
  ggplot2.continuous.fill = "brewer"
)
scale_colour_discrete = scale_colour_brewer(palette="Dark2")
scale_fill_discrete = scale_fill_brewer(palette="Dark2")

离散

如果您希望指定一个默认的离散色标,例如由 scale_colour_brewer() 生成的色标,请使用 ggplot2.discrete.colour 选项。同样,使用选项 ggplot2.discrete.fill 进行离散填充比例。

默认离散比例

library(ggplot2)

ggplot(mtcars, aes(hp, mpg, color = factor(cyl), fill = factor(cyl))) + geom_point()

reprex package (v1.0.0)

创建于 2021-07-01

自定义离散比例

library(ggplot2)

scale_colour_brewer_d <- function(...) {
  scale_colour_brewer(palette = "Dark2", ...)
}

scale_fill_brewer_d <- function(...) {
  scale_fill_brewer(palette = "Dark2", ...)
}

options(
  ggplot2.discrete.colour = scale_colour_brewer_d,
  ggplot2.discrete.fill = scale_fill_brewer_d
)

ggplot(mtcars, aes(hp, mpg, color = factor(cyl), fill = factor(cyl))) + geom_point()

reprex package (v1.0.0)

创建于 2021-07-01

连续

如果您希望指定默认的连续色标,则需要使用 scale_colour_distiller() 而不是 scale_colour_brewer()。同样,使用 scale_fill_distiller() 而不是 scale_fill_brewer() 以获得连续填充比例。您还将分别使用选项 ggplot2.continuous.colourggplot2.continuous.fill

默认连续比例

library(ggplot2)

ggplot(mtcars, aes(hp, mpg, color = cyl, fill = cyl)) + geom_point()

reprex package (v1.0.0)

创建于 2021-07-01

自定义连续尺度

library(ggplot2)

scale_colour_brewer_c <- function(...) {
  scale_colour_distiller(palette = "Dark2", ...)
}

scale_fill_brewer_c <- function(...) {
  scale_fill_distiller(palette = "Dark2")
}

options(
  ggplot2.continuous.colour = scale_colour_brewer_c,
  ggplot2.continuous.fill = scale_fill_brewer_c
)

ggplot(mtcars, aes(hp, mpg, color = cyl, fill = cyl)) + geom_point()

reprex package (v1.0.0)

创建于 2021-07-01