使用 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")
2. 不同的调色板
- 特点用于突出显示相对于中位数的任一极端值。
- 示例温度:温度变化(与平均温度相比上升/下降)、增益和减益
- 调色板列表共有九个。
- BrBG、PiYG、PRGn、PuOr
- RdBu, RdGy, RdYlBu, RdYlGn, 光谱
- 如何使用注:您可以在下面的代码中看到分歧调色板的颜色
display.brewer.pal(n = 11, name = "RdBu")
3.分类(定性)调色板
- 特点:非常适合分隔不同类别。
- 示例按类别分列的各国销售额
- 调色板列表共有八个。
- Accent(8 种颜色)、Dark2(8 种颜色)、Paired(12 种颜色)
- 粉彩 1(9 种颜色)、粉彩 2(8 种颜色)、套装 1(9 种颜色)
- 套装 2(8 种颜色)、套装 3(12 种颜色)
- 如何使用注意:您可以通过下面的代码看到分类调色板中的颜色
display.brewer.pal(n = 8, name = "Set1")
查看调色板列表并将其可视化
1. 查看整个调色板
运行下面的代码,就可以看到上面介绍的调色板中的所有列表和颜色。
library(RColourBrewer)
display.brewer.all()
2. 检查托盘类型
运行下面的代码,可分别查看调色板和颜色类型的列表。
仅显示 # 连续调色板
display.brewer.all(type = "seq")
# 仅显示分歧调色板
display.brewer.all(type = "div")
只显示 # 分类调色板
display.brewer.all(type = "qual")


调色板数据可视化示例
1. 使用顺序调板绘制热图

# 正在加载软件包
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. 使用发散调色板绘制瓦片贴图

# 正在加载软件包
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 使用定性调板绘制条形图

# 正在加载软件包
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 创建令人惊叹的可视化效果吧!





