文章目录
前言
上一节我们学习了leaflet包是如何添加底图、修改底图、在底图上添加图标、绘制点、添加地图数据,在上一节的结尾,我们小科普了一个名为RColorBrewer包的配色包,说到颜色,令我好奇的是如何在leaflet包里实现从属性到颜色的映射。
Leaflet包中的颜色
那么接下来就介绍一下leaflet包里关于颜色的设置:
leaflet中设置颜色的方法很简单,首先你得有一个“颜色盒子",这个颜色盒子里面装着你喜欢的颜色,还有一些关于颜色透明度的说明、颜色范围的设置,怎么创建一个属于自己的颜色盒子呢?
Colorbox颜色盒子
leaflet中有4个函数可以生成这种颜色盒子,分别是colorNumeric()、colorBin、
colorQuantile()、colorFactor(),那么这四个盒子可以用来涂不同的东西,比如前三个函
数生成的盒子用来涂数值型的东西,最后一个函数colorFactor()用来渲染类别型的东西
效果最佳。
创建颜色的方法很简单:
colorbox1 <- colorNumeric() #使用colorNumeric()函数创建我的色彩盒
colorbox2 <- colorBin() #使用colorBin()函数创建我的色彩盒
colorbox3 <- colorQuantile() #使用colorQuantile()函数创建我的色彩盒
colorbox4 <- colorFactor() #使用colorFactor()函数创建我的色彩盒
用上述的方法创建完之后会得到一个空的颜色盒子,因为你盒子里面的颜色还没定义,
那么下一步就是把你喜欢的颜色装进这个colorbox里面去,怎么装进去呢?leaflet包里提
供了一个palette的参数,把这个参数放在上面四个函数里面,接收用户喜欢的颜色,形
如:
colorbox1 <- colorNumeric( palette = "我喜欢的颜色")
这里的颜色可以是来自其他包里的色带,例如你看上了RColorBrewer包里面的某一款色
带,那么你可以这样写:
#使用RColorBrewer包中的YIOrRd色带作为我喜欢的颜色,存放在我的色彩盒子里
colorbox1 <- colorNumeric( palette = "YIOrRd")

也可以是自己定义的颜色向量:c("yellow","black","orange","red")
也可以是R语言提供的调色板:heat.colors,rainbow
其他参数的设置
除了颜色的选择,还有一些关于颜色的范围、透明度、颜色排序的设置,形如:
olorbox1 <- colorNumeric( palettr = "YIOrRd",domain = "颜色范围",alpha =
"透明度",reverse = "颜色排序")
- domain — 颜色的值域,例如规定了色彩对应的值域为0:100,那么如果是一个0到60
的数值型数据,该数据最终的色域将会占据该色带的前3/5;如果设置domain为NULL,则被着色的值跨越整个色域。- reverse—调色板中的颜色(或颜色功能)是否应以相反的顺序使用。例如,如果调色
板的默认顺序从蓝色变为绿色,则reverse = TRUE将导致颜色从绿色变为蓝色

应用示例
#导入实验数据
library("rgdal")
data <- readOGR("zhongshan2.shp",stringsAsFactors = FALSE)

本文详细介绍了如何在Leaflet地图包中使用colorNumeric(), colorBin(), colorQuantile()和colorFactor()创建自定义颜色盒,并通过实例展示了如何根据数据类型添加颜色和图例,包括颜色范围、透明度设置以及图例美化技巧。
最低0.47元/天 解锁文章
688

被折叠的 条评论
为什么被折叠?



