我想创建一个颜色矢量,然后将其应用于条形图。我已经创建了一个颜色范围:
color.function <- colorRampPalette(c("blue", "white", "red"))
然后,我想要获取包含在某个范围内的特定值的特定颜色。例如,假设我希望颜色范围为-10到10,然后我希望获得-7、-4.5和2的颜色(例如)。
我怎么能这么做呢?我已经尝试过了:
col.seq <- seq(-10, 10, 0.1)
cuts <- cut(c(-7,-4.5,2), breaks = length(col.seq))
colors <- colorRampPalette(c("blue", "white", "red"))(length(col.seq))
levels(colors) <- cuts
colors
但它似乎只是在我的调色板上为每次休息提供了一种颜色。
如有任何帮助,我们不胜感激!
发布于 2018-06-07 04:33:23
为了获得正确的颜色,你需要在你开始的序列向量中找到它的idex。
你可以通过四舍五入和which
得到它:
color.function <- colorRampPalette(c("blue", "white", "red"))
col.seq <- round(seq(-10, 10, 0.1), 1)
colors <- colorRampPalette(c("blue", "white", "red"))(length(col.seq))
x <- 6.5323
x.map <- round(x, 1)
x.index <- which(col.seq == x.map)
colors[x.index]
# [1] "#FF5959"
x <- 1.7323
x.map <- round(x, 1)
x.index <- which(col.seq == x.map)
colors[x.index]
# [1] "#FFD3D3"
https://stackoverflow.com/questions/50728254
复制相似问题