根据 R 中的单列值 (RGB) 定义点颜色

Define points colors based on single column values (RGB) in R

我想绘制两个变量的散点图,使用三列作为点颜色的参考。

在这种情况下,图形的每个点都由一行表示。

每行有五个属性:xyRGB

我使用 excel 创建了一个我期望的结果示例,因为可以手动更改颜色。

这不是我的选择,因为我有数千个样本。

给出以下 table:

| x | y | R | G | B |   
+---+---+---+---+---+
| 2 | 2 |255|255| 0 |    
| 2 | 2 |255|255| 0 |    
| 5 | 1 | 0 |255| 0 |    
| 4 | 3 | 0 | 0 |255|    
| 1 | 5 |255| 0 |255|

我希望生成此图形:

终于明白了。

d0 <- c(2, 2, 255, 255, 0)
d1 <- c(5, 1, 0, 255, 0)
d2 <- c(4, 3, 0, 0, 255)
d3 <- c(1, 5, 255, 0, 255)

data <- rbind(d0,d1,d2,d3)
print(data)

x <-data[,1]
print(x)

y <-data[,2]
print(y)

colors <-data[,c(3,4,5)]
colors_norm <- colors * (1/255) 
print(colors_norm)

colors_hex <- rgb(colors_norm) 
print(colors_hex)

# Simple Scatterplot
plot(x,y, main="Color Scatterplot", xlab="x", ylab="y ", pch=19, col=colors_hex)