Gij*_*ijs 5 plot r colors scale
我想将变量的值表示为R中散点中的点的颜色.
x <- rnorm(100) + 5
y <- rnorm(100) + 5
plot(x, y)
Run Code Online (Sandbox Code Playgroud)
在这里,我想使用变量作为着色的输入.但是,如果我尝试
plot(x, y, col = x)
Run Code Online (Sandbox Code Playgroud)
我很奇怪,可能很明显.现在我可以得到我想要的东西:
x_norm = (x - min(x)) / (max(x) - min(x))
col_fun <- colorRamp(c("blue", "red"))
rgb_cols <- col_fun(x_norm)
cols <- rgb(rgb_cols, maxColorValue = 256)
plot(x, y, col = cols)
Run Code Online (Sandbox Code Playgroud)

但这看起来有点复杂,并且要使用NA或NaN值,例如将它们设为黑色作为颜色,就不那么容易了.为了我.有一种简单的方法可以做到这一点,我忽略了吗?
您应该将cutdevide x用于间隔并colorRampPalette创建固定大小的调色板:
x <- rnorm(100) + 5
y <- rnorm(100) + 5
maxColorValue <- 100
palette <- colorRampPalette(c("blue","red"))(maxColorValue)
plot(x, y, col = palette[cut(x, maxColorValue)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10913 次 |
| 最近记录: |