首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >R:为某个范围内的特定值创建颜色矢量

R:为某个范围内的特定值创建颜色矢量
EN

Stack Overflow用户
提问于 2018-06-07 03:36:47
回答 1查看 518关注 0票数 1

我想创建一个颜色矢量,然后将其应用于条形图。我已经创建了一个颜色范围:

代码语言:javascript
复制
color.function <- colorRampPalette(c("blue", "white", "red"))

然后,我想要获取包含在某个范围内的特定值的特定颜色。例如,假设我希望颜色范围为-10到10,然后我希望获得-7、-4.5和2的颜色(例如)。

我怎么能这么做呢?我已经尝试过了:

代码语言:javascript
复制
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

但它似乎只是在我的调色板上为每次休息提供了一种颜色。

如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 04:33:23

为了获得正确的颜色,你需要在你开始的序列向量中找到它的idex。

你可以通过四舍五入和which得到它:

代码语言:javascript
复制
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"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50728254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档