如何知道 R 中某个命名颜色的 rgb 颜色代码?

How to know the rgb colour code for a certain named color in R?

在 ggplot2 绘图中,我想使用函数:

scale_fill_manual(
values = c(
'mediumorchid2',
'gold1',
'red'
)

我知道 'red' 的 RGB 代码颜色:#FF0000

颜色'mediumorchid2'或'gold1'也有这种代码。我怎样才能得到它?

gplots 包有一个名为 col2hex():

的函数
library(gplots)
col2hex("gold1")
"#FFD700"

首先,您说的是十六进制表示,而不是 RGB。 RGB 表示是三个数字(0 和 1 之间或 0 和 255 之间)给出红色、绿色和蓝色级别。

要获得 RGB 表示,您可以只使用基函数 col2rgb():

col2rbg('mediumorchid2')
#       [,1]
# red    209
# green   95
# blue   238

我很早就有一个获取十六进制表示的个人便利函数,因为这是我需要经常做的任务:

col2hex <- function(x, alpha = "ff") {
    RGB <- col2rgb(x)
    return(apply(RGB, 2, function(C) {
        paste(c("#", sprintf("%02x", C), alpha), collapse = "")
    }))
}
col2hex('mediumorchid2')
# [1] "#d15feeff"

更新:

提到显然已经有一个包具有这样的功能!我会推荐的。但是,对于 RGB 与十六进制的讨论以及如果您不想依赖 gplot.

,我会留下我的答案。