根据 R 中的单列值 (RGB) 定义点颜色
Define points colors based on single column values (RGB) in R
我想绘制两个变量的散点图,使用三列作为点颜色的参考。
在这种情况下,图形的每个点都由一行表示。
每行有五个属性:x
、y
、R
、G
和 B
。
我使用 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)
我想绘制两个变量的散点图,使用三列作为点颜色的参考。
在这种情况下,图形的每个点都由一行表示。
每行有五个属性:x
、y
、R
、G
和 B
。
我使用 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)