R语言 使用颜色来创建引人入胜的视觉效果

R语言 使用颜色来创建引人入胜的视觉效果

颜色是沟通信息的一种有效媒介。数据的颜色显示在可视化和探索性数据分析中起着关键作用。准确地使用颜色来显示数据,可以知道数据中的相互关系和模式。不小心使用颜色会产生不确定的模式,所以,它变得难以理解。数据分析的主要部分是讲故事,在讲故事中使用颜色可以帮助堆积者轻松理解仪表板。适当地使用颜色是为了做出有效的数据驱动的决策。

在R中使用颜色来创造吸引人的视觉效果

我们必须使用颜色来创造高质量的视觉效果,这样,对观众来说才有意义。它可以帮助浏览者和堆积者更快、更有效地理解信息。颜色在数据可视化中起着重要作用。观众需要轻松地理解报告,所以如果我们突出某些信息,促进信息的回忆,观众就会很容易理解分析师所创建的报告。战略性地使用颜色可以帮助模式识别,并吸引人们对重要信息的注意,这正是我们在本文中使用R语言所要研究的内容。

使用颜色时需要遵循的一些规则

  • 使用单一颜色来表示连续数据。
  • 使用对比色来表示列之间的比较。
  • 使用颜色使重要的数据脱颖而出。
  • 使用有限的颜色。在一个仪表盘中使用太多的颜色会导致歧义。
  • 为你的数据使用正确的图表样式和颜色。

为了演示颜色在图表中的使用,我们将在本文中使用Palmer Penguins数据集,它有8个属性和344个观测值。企鹅的数据集给出了关于企鹅身体的完整信息。

# install packages
install.packages("dplyr")
install.packages("palmerpenguins")
 
# load packages
library(dplyr)
library(palmerpenguins)
 
# summary of penguins dataset
summary(penguins)

输出

在R中使用颜色来创建引人入胜的视觉效果

企鹅数据集的摘要

使用ggplot的默认颜色

当我们使用ggplot2包绘制一些可视化的数据时,库中提供了默认的颜色来区分提供给可视化的数据中的不同类别。

# load packages
install.packages("ggplot2")
library(ggplot2)
 
# data layer + Geometric layer + Aesthetics layer
ggplot(data = penguins) + geom_bar(mapping =
                aes(x=bill_length_mm, fill = species))

输出

在R中使用颜色来创建引人入胜的视觉效果

带有默认颜色的图谱

如果我们对每只不同喙长和喙深的企鹅使用条形图,我们就不能得到清晰的数据,所以,使用正确的图和颜色是很重要的,下面是一个很好地使用合适的图和颜色的例子。另外,在下面的图表中,我们可以观察到一件事,那就是所使用的颜色与前面的可视化中的颜色相同,这使得分析报告变得枯燥和不全面。

# load packages
library(ggplot2)
 
# data layer + Geometric layer + Aesthetics layer
ggplot(data = penguins) + geom_point(mapping =
          aes(x=bill_length_mm, y=bill_depth_mm, col = species))

输出

在R中使用颜色来创建引人入胜的视觉效果

使用ggplot形成的不同颜色的图表

我们通常使用col aesthetic在我们的视觉效果中使用颜色,在条形图的情况下,col aesthetic不提供颜色变化,它只是在条形图中勾勒出条形,所以,对于这个问题,我们使用fill属性来代替cool aesthetic。

#install and load packages if you are using new R script
age <- c(19,34,56,23,45,18,34,32,17,15,16,9)
gender <- c("f","f","m","f","m","m","m","f","m","m","f","m")
height_in_cm <- c(183.98,178.56,167.984,156.78,178.35,145.78,190.23,167.23,156.278,178.89,189.56,130.90)
people <- data.frame(age, gender, height_in_cm)
ggplot(data = people) + geom_line(mapping = aes(x = height_in_cm, y = age, col = gender))

输出

在R中使用颜色来创建引人入胜的视觉效果

Wes Anderson包在R中创建引人入胜的可视化效果

在R语言中也有一些内置的调色板,这些调色板可以在Wes Anderson包中找到。在R脚本中安装韦斯-安德森包以访问R语言中可用的调色板。

语法

wes_palette(name, n, type = c(“discrete”, “continuous”))

参数

  • name – 颜色调色板的名称
  • n – 所需颜色的数量
  • 类型
    • 离散型
    • 连续的

Wes Anderson的一些可用调色板如下所示。

  • Royal1
  • Cavalcanti1
  • GrandBudapest1
  • Moonrise1
  • FantasticFox1

让我们开始安装这个软件包。

# install package wesanderson
install.packages("wesanderson")
library(wesanderson)

现在我们将绘制一些调色板,并进一步使用它们来制作可视化。我们要看的第一个调色板是 Royal1。

wes_palette("Royal1")

输出

在R中使用颜色来创建引人入胜的视觉效果

韦斯-安德森软件包中的Royal1调色板

现在让我们用这个 Royal1 调色板做一个可视化。

monochromatic <- ggplot(penguins, aes(x = bill_length_mm,
                                      y = bill_depth_mm,
                                      color = species)) +
                                        geom_point(stat = "identity")
 
# Royal1 is a available palette name
monochromatic +
scale_color_manual(values = wes_palette(n=3,
                                        name = "Royal1"))

输出

在R中使用颜色来创建引人入胜的视觉效果

使用Royal1调色板绘制图表

现在我们来看看Cavalcanti1调色板。

wes_palette("Cavalcanti1")

输出

在R中使用颜色来创建引人入胜的视觉效果

Cavalcanti1调色板

现在让我们用这个 Cavalcanti1 调色板做一个可视化。

cavalcanti <- ggplot(penguins, aes(x = species,
                                   y = body_mass_g,
                                   fill = species)) + geom_bar(stat = "identity")
 
# cavalcanti is a available palette name
cavalcanti +
scale_color_manual(values = wes_palette(n=3,
                                        name = "Cavalcanti1"))

输出

在R中使用颜色来创建引人入胜的视觉效果

使用Cavalcanti1调色板绘制图表

R语言 创建引人入胜的可视化的RColorBrewer包

另一个我们可以用来在R中创建良好的可视化的包是使用RColorBrewer。这个包可以为可视化创建好看的调色板。要了解更多关于RColorBrewer包的信息。这篇文章还涵盖了不同类型的调色板,如连续调色板、发散调色板和定性调色板。

# install and load RColorBrewer
install.packages("RColorBrewer")
library(RColorBrewer)

我们可以用brewer.pal.info列出所有颜色及其关键信息。

brewer.pal.info

输出

在R中使用颜色来创建引人入胜的视觉效果

RColorBrewer软件包中提供的不同调色板

RColorBrewer中的功能

下面是一些内置的函数,在使用RColorBrewer包在分析过程中为我们的可视化填充颜色时非常方便。

功能描述 说明
brewer.pal(n, name) 使ColorBrewer的调色板作为R调色板可用。
display.the brewer.pal(n, name) 在R窗口中显示选定的调色板
display.brewer.all(n, type, colorblindFriendly) 在一个R窗口中同时显示几个调色板
brewer.pal.info 以数据帧形式返回所有可用调色板的信息。brewer.pal.info不是一个函数,而是一个变量。
scale_fill_brewer() 用于为柱状图、箱形图、小提琴图、点状图着色
scale_color_brewer() 用户对线和点进行着色

RColorBrewer中的函数的参数

为了用相同的函数获得不同的结果,我们也可以传递不同类型的参数,这可以帮助我们获得符合我们要求的结果。

参数 描述
n 调色板中不同颜色的数量,最小为3,最大取决于调色板。
name 可用调色板中的一个调色板名称
type 用于指定调色板的类型,使用 “div”、”qual”、”seq “或 “all “字符串。
select 现有调色板的名称列表
exact.n 如果为 “true”,只显示颜色编号为n的调色板。
colorblind-friendly 如果为 “true”,只显示对色盲友好的调色板。

要获得任何特定调色板的信息,我们可以使用display.brewer.pal函数来显示一个网格,其中包括该特定调色板中的不同颜色条。

# display specific R color brewer palette
display.brewer.pal(n = 8, name = 'Dark2')

输出

在R中使用颜色来创建引人入胜的视觉效果

RColorBrewer软件包中的Dark2调色板

我们还可以打印各自调色板的十六进制代码。

# return hexadecimal code of color palette
brewer.pal(n = 8, name = 'RdBu')

输出

"#B2182B" "#D6604D" "#F4A582" "#FDDBC7" "#D1E5F0" "#92C5DE" "#4393C3" "#2166AC"

现在让我们看看一些调色板的操作。首先,我们将在下面的可视化中尝试使用 Dark2 调色板。

temp <- ggplot(data=penguins) + geom_point(mapping = aes(x = bill_length_mm,
                                                         y = bill_depth_mm,
                                                         col = species))
temp + scale_color_brewer(palette = 'Dark2')

输出

在R中使用颜色来创建引人入胜的视觉效果

使用Dark2调色板的示范性绘图

现在,我们将在下面的可视化中尝试使用 绿色 调色板。

temp <- ggplot(data=penguins) + geom_point(mapping = aes(x = bill_length_mm,
                                                          y = bill_depth_mm,
                                                          col = species))
temp + scale_color_brewer(palette = 'Greens')

输出

在R中使用颜色来创建引人入胜的视觉效果

带有绿色调色板的示范性绘图

现在,我们将在下面的可视化中尝试使用 RdGy 调色板。

temp <- ggplot(data=penguins) + geom_point(mapping = aes(x = bill_length_mm,
                                                         y = bill_depth_mm,
                                                         col = species))
temp + scale_color_brewer(palette = 'RdGy')

输出

在R中使用颜色来创建引人入胜的视觉效果

带有RdGy调色板的示范性绘图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程