R 为传单定义调色板分隔符
有没有一种方法可以根据变量的特定范围定义调色板中断? 以范围从0到1的连续变量x为例。我将R 为传单定义调色板分隔符,r,leaflet,R,Leaflet,有没有一种方法可以根据变量的特定范围定义调色板中断? 以范围从0到1的连续变量x为例。我将调色板定义为: palette <- colorNumeric(palette = rev("RdYlGn"), domain = NULL, na.color = NA) color = ~palette(x) 这将返回一个好看的贴图,但是,打断是在相等的空间中定义的:0.0、0.2、0.4、…、1.0 相反,我将中断定义为: df@data$x_brks <- cut(x,
调色板定义为:
palette <- colorNumeric(palette = rev("RdYlGn"), domain = NULL, na.color = NA)
color = ~palette(x)
这将返回一个好看的贴图,但是,打断是在相等的空间中定义的:0.0、0.2、0.4、…、1.0
相反,我将中断定义为:
df@data$x_brks <- cut(x,
breaks=c(0, 0.55, 0.65, 0.75, 0.85, 0.95, 1.0),
labels=c("<=0.55", ">0.55 and <=0.65", ">0.65 and <=0.75",
">0.75 and <= 0.85", ">0.85 and <=0.95", ">0.95")
)
df@data$x_brks试试colorBin
risk.bins <-c(0, 0.55, 0.65, 0.75, 0.85, 0.95, 1.0),
risk.pal <- colorBin( "plasma", bins=risk.bins, na.color = "#aaff56")
通过按原样插入文本,可以在addLegend中手动设置标签
labels=c("<=0.55", ">0.55 and <=0.65", ">0.65 and <=0.75",
">0.75 and <= 0.85", ">0.85 and <=0.95", ">0.95")
labels=c(“0.55、0.65、0.75、0.85、0.95”)
谢谢!这是可行的,但我无法让标签按定义显示。我使用的是带有标签的pal,这就是它不起作用的原因。我将其更改为颜色和标签,但我得到一个错误:“颜色”和“标签”必须具有相同的长度colors=~调色板(值),labels=c(“0.55和0.65和0.75和0.85和0.95”),注:length(unique(调色板(值))
是7,它等于标签向量的长度。我在label中看到了8。最后一个是什么?空白区?是的,那是为NA
,但不管有没有它,它都不起作用,我得到了同样的错误。这起作用了,但并不理想:addLegend(map,“bottomright”,colors=c(“D73027”,“FC8D59”,“D9EF8B”,“FEE08B”,“91CF60”,“1A9850”),=c(“0.55和0.65”,“0.85和0.95”)
labels=c("<=0.55", ">0.55 and <=0.65", ">0.65 and <=0.75",
">0.75 and <= 0.85", ">0.85 and <=0.95", ">0.95")