我在R工作并正在创建一个三变量散点图,其中x和y对应于位置,颜色由z给出。
但是,由于我项目的具体情况,我无法使用现有的调色板,而是编写了一个直接将数据转换为rgb值的函数。
我能够让图表看起来像我想要的样子(颜色是正确的),但我不知道如何创建合适的颜色键。
假设我已经完成了我想要做的所有处理,现在有一个数据结构,其中第1列是x值,第2列是y值,第3列是我想要的rgb值点的颜色,第4列是用于生成给定点的颜色十六进制值的分数,我最好如何将其显示为带有颜色键的散点图?
我希望按键覆盖整个颜色范围,从0到最高分。
分数(第4列)不需要在图表中 - 它们仅用于分配颜色十六进制值,以及确定颜色键的范围。
答案 0 :(得分:1)
以下是使用spatstat和plotrix如何使用调色板和贴图的简单示例:
library("spatstat") ; library("plotrix")
#your data:
x <- 1:3
# the colours included
colors <- c("#FF0000" , "#00FF00" , "#0000FF")
n.colors <- 100 # number of colours to interpolate over
plot(1:3 , col = colors , pch = 16)
# interpolate colours:
palette <- colorRampPalette(colors, space = "rgb")(n.colors)
color.map <- colourmap( palette , range=range(x) )
color.range <- color.map( seq(min(x), max(x), length.out = n.colors) )
#the labels of the legend
col.labels <- round(seq(min(x),max(x),length=3) ,digits=1)
color.legend( xl =2.5 , yb = 1, xr = 2.7, yt = 2 , # the coordinates
legend = col.labels , gradient="y",
rect.col=color.range, align="rb")