Leaflet包:从入门到跑路(二)

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

前言

上一节我们学习了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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值