在R中使用ggplot2的rgb()函数

14
在 ggplot2 中,我们可以通过名称或十六进制代码设置颜色。是否有一种方式可以同样地使用 rgb 值呢?我在文档中搜索了一下,但快速答案似乎是“不行”。(我希望使用 rgb 的原因是我有一些颜色将用于某些图表,而这些颜色都以 rgb 格式存在。我可以在像这里这样的地方获取十六进制格式,但如果我可以直接将值输入到 ggplot() 中,那就太好了。)

5
关于函数rgb,有什么问题吗? - bouncyball
2
qplot(x=1, fill=I(rgb(0.1, 0.8, 0.5))) - Axeman
不错!我不知道那个函数。谢谢,Axeman和bouncyball。 - RobertMyles
1个回答

25

您可以使用函数rgb(r, g, b)将小数形式的RGB值转换为十六进制:

rgb(0.1,0.2,0.3)
[1] "#1A334D"
如果您的值基于8位颜色(或任何其他限制),您可以使用 maxColorValue 选项指定最大数字:
rgb(207, 31, 46, maxColorValue = 255)
[1] "#CF1F2E"

9
很好。我直接在绘图函数中使用了它,但如果您的RGB颜色不是分数,则需要maxColorValue参数:scale_colour_manual(values = c(rgb(207, 31, 46, maxColorValue = 255)), "#ffda85")) - RobertMyles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接