r - 如何从 5 种颜色中创建一个连续调色板,并为中间 cclors 指定值?
问题描述
我想用绿色、黄色、橙色、红色和黑色创建一个调色板。最小值为 0,最大值为“无穷大”。
我想要以下硬编码值:
0 为绿色
20 为黄色
60 为橙色
100 为红色
最大值(200,数据中的最大值)为黑色
这可以在 colorRampPalette 中指定吗?
解决方案
由于这个问题被标记为ggplot2
,我猜你想在 ggplot 中使用你的渐变。colorRampPalette
给出均匀间隔的颜色向量,并且不将它们与特定数值相关联. 听起来您正在寻找类似的东西scale_color_gradientn
:
ggplot(data.frame(x = runif(5000, 0, 200), y = runif(5000, 0, 200)), aes(x, y)) +
geom_point(aes(color = (x + y)/2), size = 3) +
scale_color_gradientn(colours = c("green", "yellow", "orange", "red", "black"),
values = c(0, 20, 60, 100, 200) / 200, limits = c(0, 200),
name = "value")
推荐阅读
- javascript - javascript“中断”会完全停止递归函数还是仅仅停止那个实例?
- docker - 非 root 用户的 docker 机密
- background - Ionic 3 - 当我们最小化应用程序时显示锁定屏幕
- javascript - 用于切换的 Jquery 单击功能不起作用
- oracle - ORA-04091: 在触发器中使用游标插入其他表时,表正在发生变化
- tensorflow - 测试损失随着学习率 0 发生奇怪的变化?
- linux - 为什么更新命令显示相同的 ppa?
- sysml - 如何将 SDL 信号列表转换为 SysML 中的类似内容?
- php - 致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from.......failed to load external entity
- python - vagrant up eos 完全冻结系统,无法启动 eos