【发布时间】:2020-06-26 22:07:32
【问题描述】:
我希望创建一个对色阶进行更多控制的热图,特别是我希望为与特定颜色对应的值范围设置 bin。
下面我提供了一些示例代码来生成一些数据并绘制图表。问题似乎在于它如何将颜色映射到中断,这不是 1:1 对应关系,当我在中断中添加更多百分位数时,它似乎会拉伸颜色。
这似乎不是一个大问题,但是当我将其应用于整个美国数据集时,我正在使用的配色方案真的崩溃了。
library(usmap)
library(ggplot2)
fips <- seq(45001,45091,2)
value <- rnorm(length(fips),3000,10000)
data <- data.frame(fips,value)
data$value[data$value<0]=0
plot_usmap(regions='counties',data=data,values="value",include="SC") +
scale_fill_stepsn(breaks=c(as.numeric(quantile(data$value,seq(.25,1,.25)))),
colors=c("blue","green","yellow","red"))
plot_usmap(regions='counties',data=data,values="value",include="SC") +
scale_fill_stepsn(breaks=c(as.numeric(quantile(data$value,seq(0,1,.1)))),
colors=c("blue","green","yellow","red"))
#data not provided for this bit
plot_usmap(regions='counties',data=datar,values="1969",exclude=c("AK","HI")) +
scale_fill_stepsn(breaks=c(as.numeric(quantile(datar$`1969`,seq(0,1,.1)))),
colours=c("blue","green","yellow","red"))
【问题讨论】:
-
scale_fill_continuous(low = "grey", high = "darkgreen", name = "USA MAP", label = scales::comma
-
"对应于特定颜色的值范围的分箱。"
-
数据涉及大得多的高百分位数,所以我想使用 bin,而不是连续色标
-
有趣的是,几天前就有一个非常相似的帖子。幸运的是,我在这个线程上留下了我的第一个答案,因为它应该完全满足您的需要:创建剪辑,然后根据结果因子水平进行休息和标签stackoverflow.com/a/62544405/7941188