簡體   English   中英

R圖:使用數據幀中的RGB值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM