R语言 创建独特的调色板

R语言 创建独特的调色板

在这篇文章中,我们将讨论如何在R编程语言中创建一个独特的调色板。在R编程中创建调色板的方法有很多,下面将讨论所有这些方法。

方法1:使用grDevices包

我们将使用一个名为grDevices的包,代表图形设备,用于在第一种方法中制作独特的调色板。这里我们将使用grDevices中的color函数来制作我们的调色板。

  • 使用 colors() 函数。

在这个例子中,我们将使用这个包制作一个饼状图。所以,首先我们将提到我们想要在调色板中的颜色数量。然后我们将使用这个包的color()函数,它包含了大量基于HCL(hue-chroma-luminance)的颜色。

例子

# number of colors in the palette
no_of_colors <- 10 
  
# applying the colors function from 
# grDevices package
color_palette <- grDevices::colors()  
  
# optional, for printing the hex 
# color codes
color_palette                         
  
# pie function for drawing a pie chart
pie(rep(1, no_of_colors), radius = 0.8, 
    col = color_palette, 
    main = "Color Palette using colors function")

输出

在R语言中创建独特的调色板

现在,假设我们希望创建一个只有绿色及其色调的调色板。我们也将按照上述步骤来制作这个调色板,但唯一的变化是,我们将在这里使用grep命令。grep用于搜索或匹配字符向量中每个元素的参数模式:它们在结果的格式和细节方面有所不同。

语法

grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE, fixed = FALSE, useBytes = FALSE, invert = FALSE)

例子

# number of colors in the palette
no_of_colors <- 20      
  
# applying the colors function
color_palette <- grDevices::colors()                          
  
# prints all hex color codes
color_palette                                                 
  
# grep command for matching the 
# pattern(character string --> green), 
palette <- color_palette[grep(
  "green", grDevices::colors())]
  
# sample colours
green_palette <- sample(palette, no_of_colors)
  
# the list of the colours, which will 
# show up in the palette
green_palette
  
# shows the created palette
pie(rep(1, no_of_colors), col = green_palette, 
    main = "Green and its shades")

输出

在R语言中创建独特的调色板

  • 使用rainbow( )函数

这里我们将使用grDevices包中的rainbow()函数制作调色板。rainbow()函数是一个内置的调色板,可以用来根据参数即时生成一些所需长度的颜色向量,并返回可用颜色的十六进制代码。

语法:

rainbow(存储颜色数量的变量名)

整个过程与之前一样,只是我们在这里使用了彩虹函数。

例子

# no. of colours in the palette
no_of_colors <- 15
  
# applying the rainbow function
colorful_palette <- rainbow(no_of_colors)
  
# prints the hex color codes
colorful_palette
  
# creates a pie chart of rainbow colours
pie(rep(1, no_of_colors), col = colorful_palette, 
    main = "Rainbow Palette")

输出

在R语言中创建独特的调色板

方法2:使用viridis包

Viridis包是一个默认的颜色地图。它是一系列专门设计的彩色地图,以改善患有常见形式的色觉缺陷或色盲的人的图形可读性。

这个特别的包由8个色标组成。”viridis”,是主题名称,还有其他类似属性的选项,它们被列在下面。

-> “magma”, –> option A

->“inferno”, –> option B

->“plasma”, –> option C

-> “viridis” –> default option D

->“cividis”, –> option E

-> “rocket”, –> option F

-> “mako”, –> option G

-> “turbo” –> option H

这个viridis标度是为了更好地理解颜色类型,并提到了它们的选项。

在R语言中创建独特的调色板

语法:

viridis_pal(option = "option")(存储颜色数量的变量)

例子

# installation of the viridis package
install.packages("viridis")
  
# loading of the library
library("viridis")
  
# it may happen that the above 2 
# lines of code pops out an error
# saying viridisLite has to loaded
# so to avoid that do load that 
# package too
library("viridisLite")
  
# number of colors in the palette
no_of_colors <- 10
  
# options represent the color types, 
# there are altogether 8 options.
palette <- viridis_pal(option = "D")(no_of_colors)
  
# hex color codes
palette
  
# represents colors in a pie chart manner
pie(rep(1, no_of_colors), col = palette, main = "viridis palette")

输出

在R语言中创建独特的调色板

另外,如果我们想改变这个调色板的颜色模式类型,那么我们需要改变选项(A到H内的任何东西)。除了选项,上述代码的每一部分都将保持不变。

例子

# loading of the library
library("viridis")
  
# it may happen that the above
# 2 lines of code pops out an
# error saying viridisLite has 
# to loaded so to avoid that do
# load that package too
library("viridisLite")
  
# number of colors in the palette
no_of_colors <- 10
  
# option A --> magma
palette <- viridis_pal(option = "A")(no_of_colors)
  
# hex color codes
palette
  
# represents colors in a pie chart manner
pie(rep(1, no_of_colors), col = palette, main = "magma palette")

输出

在R语言中创建独特的调色板

方法3:使用randomcoloR包

randomcoloR是一个R语言包,用于生成有吸引力的、与众不同的颜色。函数distictColorPalette()可以生成最佳的可识别的颜色。

语法:

distictColorPalette(存储颜色数量的变量)

例子

# installation
install.packages("randomcoloR")
library("randomcoloR")
  
# no. of colours in the palette
no_of_colors <- 15
  
# sample colors
palette <- distinctColorPalette(no_of_colors)     
  
# hex color codes
palette
  
# colors in the pie chart
pie(rep(1, no_of_colors), col = palette, 
    main = "palette using randomcoloR package")

输出

在R语言中创建独特的调色板

方法4:使用RColorBrewer软件包

这个包可以创建漂亮的调色板,特别是对于主题地图。

  • brewer.pal() 使ColorBrewer的调色板可以作为R调色板。

语法:

brewer.pal(n, name)

参数

  • n: 调色板中不同颜色的数量,最小为3,最大取决于调色板。
  • name: 下面列表中的一个调色板名称。
  • display.brewer.pal() 在图形窗口中显示选定的调色板。

语法:

display.Brewer.pal(n, name)

参数

  • n: 调色板中不同颜色的数量,最小为3,最大取决于调色板。
  • name: 下面列表中的调色板名称。
  • display.brewer.all() 在一个图形窗口中同时显示几个调色板。

语法:

display.brewer.all(n=NULL, type="all", select=NULL, exact.n=TRUE, colorblindFriendly=FALSE)

参数

  • n: 调色板中不同颜色的数量,最小为3,最大取决于调色板。
  • name: 下面列表中的调色板名称。
  • type :字符串 “div”、”qual”、”seq “或 “all “中的一个。
  • select: 现有调色板的名称列表。
  • exact.n : 如果是TRUE,只显示颜色编号为n的调色板。
  • colorblindFriendly: 如果是TRUE,只显示对色盲友好的调色板。
  • brewer.pal.info 以数据帧形式返回有关可用调色板的信息。brewer.pal.info不是一个函数,是一个变量。这在将来可能会改变。
  • rownames 检索或设置一个类似矩阵的对象的行或列名称。

语法

rownames(x) <- value

有3种类型的调色板,即:顺序调色板、发散调色板和定性调色板。

  • 顺序调色板 适用于从低到高的有序数据。这些方案的外观以亮度阶梯为主,浅色代表低数据值,深色代表高数据值。
display.brewer.all(type="seq")

输出

在R语言中创建独特的调色板

  • 分歧 调色板对数据范围两端的中间临界值和极端值给予同等重视。图例中间的临界值或断点用浅色强调,低端和高端的极端值则用具有对比色调的深色强调。
display.brewer.all(type="div")

输出

在R语言中创建独特的调色板

  • 定性 调色板并不意味着图例类之间的量级差异,色调被用来创造类之间的主要视觉差异。定性方案最适合于表示名义或分类的数据。
display.brewer.all(type="qual")

输出

在R语言中创建独特的调色板

例子

# installation of the package RColorBrewer
install.packages("RColorBrewer")
  
# loading of the package
library("RColorBrewer")
  
# extraction of color info
# qual --> Qualitative color palette
palette5 <- brewer.pal.info[brewer.pal.infocategory == "qual",]
  
# create vector with all colors
palette <- unlist(mapply(brewer.pal, palette5maxcolors, 
                         rownames(palette5)))
palette
  
# sample colors
palette_palette <- sample(palette, no_of_colors)
  
# colors with their hex codes
palette_palette
  
# prints the pie chart
pie(rep(1, no_of_colors), col = palette_palette, 
    main = "RColorBrewer Palette")

输出

在R语言中创建独特的调色板

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程