如何将RGB值的向量转换为十六进制

如何将RGB值的向量转换为十六进制,r,ggplot2,rgb,R,Ggplot2,Rgb,我有一个RGB值的CSV,即: [1]230-000-070 [2]255-000-000 [3]204-077-242 ... ... (40 more rows) 我想将这些应用于ggplot2中光栅上的离散比例,它正在寻找十六进制代码,而不是RGB scale_colour_manual(values = c("#E60046", "#FF0000", "#CC4DF2")) 我想这个函数就是我所需要的——我该如何将它应用到向量上呢 rgb2hex <- function(r,g

我有一个RGB值的CSV,即:

[1]230-000-070
[2]255-000-000
[3]204-077-242
...
...
(40 more rows)
我想将这些应用于ggplot2中光栅上的离散比例,它正在寻找十六进制代码,而不是RGB

scale_colour_manual(values = c("#E60046", "#FF0000", "#CC4DF2"))
我想这个函数就是我所需要的——我该如何将它应用到向量上呢

rgb2hex <- function(r,g,b) rgb(r, g, b, maxColorValue = 255)

rgb2hex您可以使用
strsplit
函数将原始向量与RGB值拆分,然后使用
do应用
rgb2hex
。调用
strsplit
生成的列表(输出为列表)

#输入向量

RGB您可以使用
strsplit
函数将原始向量与RGB值拆分,然后使用
do应用
rgb2hex
。调用
strsplit
生成的列表(输出为列表)

#输入向量
RGB您还可以执行以下操作:

rgb2hex <- function(x) rgb(substr(x, 1, 3), substr(x, 5, 7), substr(x, 9, 11), maxColorValue = 255)
你也可以这样做:

rgb2hex <- function(x) rgb(substr(x, 1, 3), substr(x, 5, 7), substr(x, 9, 11), maxColorValue = 255)

当您第一次读取csv时,最好通过指定
-
作为分隔符,将r、g、b值拆分为单独的列。此处演示了如何使用
库(data.table)
,不过您也可以使用read.csv来代替:

x = fread('my.csv', sep='-')
x[, rgb(V1,V2,V3, maxColorValue = 255)]
注意:要对示例数据进行测试,可以使用:

x = fread("
230-000-070
255-000-000
204-077-242", sep='-')

当您第一次读取csv时,最好通过指定
-
作为分隔符,将r、g、b值拆分为单独的列。此处演示了如何使用
库(data.table)
,不过您也可以使用read.csv来代替:

x = fread('my.csv', sep='-')
x[, rgb(V1,V2,V3, maxColorValue = 255)]
注意:要对示例数据进行测试,可以使用:

x = fread("
230-000-070
255-000-000
204-077-242", sep='-')
相关的