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

标签 r ggplot2 visualization colorbrewer

我正在尝试在我的全局 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 创建于 2021-07-01 (v1.0.0)

自定义离散比例

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 创建于 2021-07-01 (v1.0.0)

连续

如果您希望指定默认的连续色标,则需要使用 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 创建于 2021-07-01 (v1.0.0)

自定义连续刻度

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 创建于 2021-07-01 (v1.0.0)

关于r - 如何使用 RColorBrewer 调色板设置 ggplot 全局颜色主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68203834/

相关文章:

arrays - 如何存储在多重图中使用的 ggplots 列表而不覆盖以前的图?

javascript - 在 Vis.js 中设置缩放级别

r - 显示 GenomicRanges 包输出中的所有行

因子()和 NAs 的 R caret/rfe 变量选择

r - ggplot2 盒须图 : show 95% confidence intervals & remove outliers

c - 在 Xcode 中编译程序后,如何绘制输出数据?

javascript - 任何人都可以指导我使用 js 或 python 组合可视化吗?

在 R 编程中,将字符串中除第一次出现之外的所有单词替换为空格

r - 如何将数据框中的每一列拆分为两列?

r - 如何将日期格式从 yearmon 更改为 yyyy-mm-dd?