[英]R plots : using RGB values from dataframe
我无法使用数据框中存在的RGB颜色。
color.table
V1 V2 V3
1 Red 255,0,0
2 Orange Red 255,69,0
3 LimeGreen 50,205,50
4 Green 0,128,0
5 DarkGreen 0,100,0
6 GreenYellow 194,225,5
7 Yellow 255,255,0
8 Aquamarine 102,205,170
9 PaleTurquoise 138,145,208
10 IndianRed 205,92,92
11 DarkSalmon 233,150,122
12 DarkKhaki 189,183,107
13 Silver 128,128,128
14 Gainsboro 192,192,192
15 White 255,255,255
看来我无法使用此数据框中存在的RGB。
barplot(seq(1:15) , col=color.table$V3 )
Error in rect(y1, x1, y2, x2, ...) :
invalid color specification "255,0,0"
即使我尝试将RGB转换为十六进制值,也有些奇怪。
rgb(color.table$V3[1], 50, m=255)
Error in rgb(color.table$V3[1], 50, m = 255) :
argument "blue" is missing, with no default
在哪里工作:
> rgb(255,0,0, 50, m=255)
[1] "#FF000032"
这里有些鱼,但是我不能动弹。 任何建议,不胜感激。
您需要使用rgb
函数从V3
变量中提取颜色:
cols <- sapply(strsplit(as.character(color.table$V3), ","), function(x) {
rgb(x[1], x[2], x[3], m=255)
})
cols
# [1] "#FF0000" "#FF4500" "#32CD32" "#008000" "#006400" "#C2E105" "#FFFF00" "#66CDAA" "#8A91D0"
# [10] "#CD5C5C" "#E9967A" "#BDB76B" "#808080" "#C0C0C0" "#FFFFFF"
现在,您可以将这些颜色添加为数据框中的新列,并通过col参数将它们传递给绘图函数,等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.