使用 RColorBrewer 调色板掌握可视化色彩!(序列、发散和分类完全指南)

在将数据可视化时,我们经常会想:"我应该用什么颜色才能让数据看起来更漂亮? R你会更加强烈地感受到这种痛苦,不过不用担心!今天我们将向你展示如何使用 RColorBrewer 调色板让您的数据栩栩如生。

完成后,数据可视化将变得前所未有的有趣!

什么是 RColorBrewer 调色板?

RColorBrewer 是 R 提供的调色板软件包,可为数据可视化提供多种颜色组合。特别是 顺序, 分歧, 分类(定性) 它提供了一个调色板,让你可以轻松选择与数据性质相匹配的颜色。

调色板类型和功能

1. 顺序调色板

  • 特点数值:非常适合表示从低值到高值的数据。
  • 示例温度变化、销售额增加等。
  • 调色板列表共有 18 个。
    • 蓝调, BuGn, BuPu, GnBu, 绿调, 灰调
    • 橙色、橙红、普布、普布金、普红、紫色
    • RdPu、Reds、YlGn、YlGnBu、YlOrBr、YlOrRd
  • 如何使用注意:您可以在下面的代码中看到顺序调色板的颜色。
  library(RColourBrewer)
  display.brewer.pal(n = 9, name = "Blues")
RColorBrewer Palette - 순차적 팔레트 예시 이미지

2. 不同的调色板

  • 特点用于突出显示相对于中位数的任一极端值。
  • 示例温度:温度变化(与平均温度相比上升/下降)、增益和减益
  • 调色板列表共有九个。
    • BrBG、PiYG、PRGn、PuOr
    • RdBu, RdGy, RdYlBu, RdYlGn, 光谱
  • 如何使用注:您可以在下面的代码中看到分歧调色板的颜色
  display.brewer.pal(n = 11, name = "RdBu")
RColorBrewer Palette - 발산형 팔레트 예시 이미지

3.分类(定性)调色板

  • 特点:非常适合分隔不同类别。
  • 示例按类别分列的各国销售额
  • 调色板列表共有八个。
    • Accent(8 种颜色)、Dark2(8 种颜色)、Paired(12 种颜色)
    • 粉彩 1(9 种颜色)、粉彩 2(8 种颜色)、套装 1(9 种颜色)
    • 套装 2(8 种颜色)、套装 3(12 种颜色)
  • 如何使用注意:您可以通过下面的代码看到分类调色板中的颜色
  display.brewer.pal(n = 8, name = "Set1")
RColorBrewer Palette - 범주형 팔레트 예시 이미지

查看调色板列表并将其可视化

1. 查看整个调色板

运行下面的代码,就可以看到上面介绍的调色板中的所有列表和颜色。

library(RColourBrewer)
display.brewer.all()
RColorBrewer Palette - 전체 팔레트 예시 이미지

2. 检查托盘类型

运行下面的代码,可分别查看调色板和颜色类型的列表。

仅显示 # 连续调色板
display.brewer.all(type = "seq")

# 仅显示分歧调色板
display.brewer.all(type = "div")

只显示 # 分类调色板
display.brewer.all(type = "qual")
RColorBrewer Palette - 순차적 팔레트 이미지
(顺序调色板列表和颜色)
RColorBrewer Palette - 발산형 팔레트 이미지
(不同的调色板列表和颜色)
RColorBrewer Palette - 발산형 팔레트 이미지
(分类调色板列表和颜色)

调色板数据可视化示例

1. 使用顺序调板绘制热图

순차적(Sequential) 팔레트를 활용한 히트맵
# 正在加载软件包
library(RColourBrewer)

生成 # 数据
set.seed(123)
data <- matrix(rnorm(100), nrow=10)
colnames(data) <- paste0("Col", 1:10)
rownames(data) <- paste0("Row", 1:10)

绘制 # 热图
heatmap(data、
col = brewer.pal(9, "Blues")、
main = "
使用顺序调色板绘制热图",
保证金 = c(5,5))

解读代码

  • set.seed(123):
    • 设置种子值,确保随机数生成的可重复性。每次运行相同代码时,生成相同的随机数。
  • matrix(rnorm(100), nrow=10):
    • 从均值为 0、标准差为 1 的正态分布中随机生成 100 个数字,创建一个 10 行矩阵。
  • colnames(data) <- paste0("Col", 1:10):
    • 将列命名为 "Col1"、"Col2"......、"Col10"。
  • rownames(data) <- paste0("Row", 1:10):
    • 将各行命名为 "Row1"、"Row2"......、"Row10"。
  • heatmap():
    • 将给定数据可视化为热图。
  • col = brewer.pal(9, "Blues"):
    • RColorBrewer的连续调色板 "蓝调" 使用调色板设置热图的颜色。 brewer.pal(9, "Blues")"(《世界人权宣言》) "蓝调" 从调色板中返回九种颜色。
  • main = "使用顺序调色板绘制热图":
    • 为热图设置标题。
  • 保证金 = c(5,5):
    • 指定显示热图行和列名称的边距大小。

2. 使用发散调色板绘制瓦片贴图

발산형(Diverging) 팔레트를 활용한 타일맵
# 正在加载软件包
library(RColourBrewer)

生成 # 数据
set.seed(123)
df <- data.frame(
x = rep(1:10,each=10)、
y = rep(1:10,times=10)、
值 = rnorm(100)
)

# 使用 ggplot 绘制瓦片图
library(ggplot2)
ggplot(df, aes(x=x, y=y, fill=value)) +
geom_tile() +
scale_fill_distiller(palette = "RdBu", direction = 1) +
theme_minimal() +
labs(title = "
使用发散调色板绘制瓷砖贴图",
x ="X轴",y ="Y轴")

解读代码

RColorBrewer:为数据可视化提供调色板的软件包。

ggplot2:功能强大的数据可视化图形软件包,可创建多种不同类型的图形。

  • set.seed(123)设置种子值,以确保随机数生成的可重复性。每次运行相同的代码都会得到相同的结果。
  • data.frame():数据被分为 x 轴、y 轴和 价值 创建带列的数据框。
    • x:迭代 1 到 10 的值,每个值迭代 10 次。
    • y重复数值 1 至 10,共 10 次。
    • 价值从均值为 0、标准差为 1 的正态分布中生成随机数。
  • ggplot(df, aes(x=x, y=y, fill=value)):
    • ggplot() 函数是一个数据帧 (df) 根据数据创建可视化。
    • aes()定义了可视化的坐标轴和颜色映射:
      • x=x:在 x 轴上 x 列映射。
      • y=y:在 Y 轴上 y 列映射。
      • fill=value瓷砖颜色 价值 根据值设置。
  • geom_tile():
    • 函数生成瓦片贴图,其中每个 (x, y) 绘制与坐标相对应的矩形。
  • scale_fill_distiller(palette = "RdBu", direction = 1):
    • RColorBrewer 中的不同调色板 "RdBu"来设置颜色。
      • "RdBu"色彩对比:使用红色和蓝色从中间到两个极端进行色彩对比。
      • 方向 = 1:按默认方向应用调色板。
  • theme_minimal():
    • 删除图表中不必要的元素,使用简洁的样式。
  • 实验室():
    • 设置图表标题和坐标轴名称:
      • 主题 "使用发散调色板绘制瓦片地图".
      • X 轴名称: "X轴".
      • Y 轴名称: "Y 轴.

3 使用定性调板绘制条形图

3. 범주형(Qualitative) 팔레트를 활용한 막대 그래프
# 正在加载软件包
library(RColourBrewer)

生成 # 数据
categories <- c("A", "B", "C", "D", "E")
values <- c(23, 45, 32, 58, 29)
df <- data.frame(categories, values)

# 绘制条形图
ggplot(df, aes(x=categories, y=values, fill=categories)) +
geom_bar(stat="identity") +
scale_fill_brewer(palette="Set3") +
theme_minimal() +
labs(title = "在条形图中使用定性调色板"、
x ="类别",y ="值")

解读代码

RColorBrewer:为数据可视化提供调色板的软件包。

ggplot2:功能强大的数据可视化图形软件包,可创建多种不同类型的图形。

  • 类别分类数据:将显示在条形图 x 轴上的分类数据。在此,我们定义了类别 "A"、"B"、"C"、"D "和 "E"。
  • 价值观:是每个类别对应的数值,显示在 y 轴上。
  • data.frame()类别和 价值观合并数据帧 (df)的新项目。
  • ggplot(df, aes(x=categories, y=values, fill=categories)):
    • ggplot() 该函数根据数据生成图表。
    • aes()映射可视化的坐标轴和颜色:
      • x= 类别:在 x 轴上 类别 列映射。
      • y=values:在 Y 轴上 价值观 列映射。
      • fill=categories颜色:为每个类别设置不同的颜色条。
  • geom_bar(stat="identity"):
    • 生成柱形图,每个柱形图的高度是数据的高度 (价值观)值,该值根据
  • scale_fill_brewer(palette="Set3"):
    • RColorBrewer 中的分类调色板 "设置3"来设置条形图的颜色。 "设置3"提供不同的颜色来区分不同的类别。
  • theme_minimal():
    • 删除图表中不必要的元素,使用简洁的样式。
  • 实验室():
    • 设置图表标题和坐标轴名称:
      • 主题 "在条形图中使用定性调色板".
      • X 轴名称: "类别".
      • Y 轴名称: "价值".

总结

RColourBrewer 是一款功能强大的数据可视化工具,可按调色板类型创建热图、瓦片图等、 条形图 我们来看一个例子。

使用序列调色板来处理由浅到深的序列数据,选择发散调色板来突出显示中值和极值。需要区分类别时,请使用分类调色板。

现在就使用 RColorBrewer 创建令人惊叹的可视化效果吧!

테리 이모티콘
(快乐编码)

类似文章