leaflet动态线条_leaflet的小搭档leaflet.minicharts来了,从此动态地图又多了一些乐趣~~~...

本文内容取材自leaflet.minicharts包官方主页的案例介绍,本篇案例虽然是关于leaflet在线地图的辅助包,但是该包的出现对于leaflet生态系统来说,确是有着划时代的意义。

该包大大扩充了leaflet包所能呈现的图表形式,打破了散点图、路径图、热力图三类图表对于传统地图数据呈现形式的垄断地位。

该包为此提供了气泡饼图、玫瑰图、mini柱形图以及时间维度控制器等多种数据可视化元素。

以下便是作者对该包的简要介绍及案例演示:

一直以来,借助于Rstudio团队开发的交互式地图工具包——leaflet,在R语言中创建交互式地图已非难事。但是该包仅仅提供了很少的集中图表呈现类型,因而在一张单独的地图上呈现的数据信息量被大大限制了。

倘若你要在地图上呈现一些点数据,你只能需要使用两个变量定位出这些点在地图上的位置,然后更改点的半径和点的填充颜色来呈现数据。

然后leaflet.minicharts包的出现大大改变了这一格局。你可以在利用其提供的两个附加函数,在leaflet包的交互地图上增加更多的mini图表。

这些mini图表可以呈现比之前多得多的变量数据(理论上不受变量数量的限制),目前为止,仅支持三种图表类型:

barcharts (the default), pie charts and polar area charts.

该包内提供了一个法国自2010~2017年包含电力产品、电力消费及结构变动趋势的数据集。

library("ggplot2")

library("leaflet.minicharts")

library(geojsonio)

library(rgdal)

data("eco2mix")

head(eco2mix)

geojson

#导入json格式的法国地图数据素材

library(dplyr)

prod2016 %

mutate(

renewable = bioenergy + solar + wind + hydraulic,

non_renewable = total - bioenergy - solar - wind - hydraulic

) %>%

filter(grepl("2016",month) & area!= "France") %>%

select(-month) %>%

group_by(area,lat,lng) %>%

summarise_all(sum) %>%

ungroup()

#抽取了法国2016年的能源消费结构数据信息:

library(leaflet)

library(leafletCN)

basemap % amap() %>%

addPolygons(weight=1,color="#444444",opacity=1,fillColor ="white",fillOpacity =0.7,smoothFactor=0.5)

#将地图背景保存为临时对象:

renewable2016 % select(hydraulic,solar,wind)

colors

basemap %>%

addMinicharts(

prod2016$lng, prod2016$lat,

chartdata = renewable2016,

colorPalette = colors,

width = 45, height = 45

)

#默认图表形式是柱形图

#气泡饼图

colors

basemap %>%

addMinicharts(

prod2016$lng, prod2016$lat,

type = "pie",

chartdata = prod2016[, c("renewable", "non_renewable")],

colorPalette = colors,

width = 60 * sqrt(prod2016$total)/sqrt(max(prod2016$total)),transitionTime=0)

#玫瑰图1:

basemap %>%

addMinicharts(

prod2016$lng, prod2016$lat,

type = "polar-radius",

chartdata = prod2016[, c("renewable", "non_renewable")],

colorPalette = colors,

width = 60 * sqrt(prod2016$total)/sqrt(max(prod2016$total)),transitionTime=0)

#极坐标(玫瑰图)

#玫瑰图2:

basemap %>%

addMinicharts(

prod2016$lng, prod2016$lat,

type = "polar-area",

chartdata = prod2016[, c("renewable", "non_renewable")],

colorPalette = colors,

width = 60 * sqrt(prod2016$total)/sqrt(max(prod2016$total)),transitionTime=0)

添加时间趋势:

#柱形图(带时间趋势)

prodRegions % filter(area != "France")

basemap %>%

addMinicharts(

prodRegions$lng, prodRegions$lat,

chartdata = prodRegions[, c("hydraulic", "solar", "wind")],

time = prodRegions$month,

colorPalette = colors,

width = 45, height = 45

)

#饼图(带时间趋势)

prodRegions % filter(area != "France")

basemap %>%

addMinicharts(

prodRegions$lng, prodRegions$lat,

chartdata = prodRegions[, c("hydraulic", "solar", "wind")],

time = prodRegions$month,

colorPalette = colors,

type="pie",

width = 45, height = 45

)

#玫瑰图(带时间趋势)

prodRegions % filter(area != "France")

basemap %>%

addMinicharts(

prodRegions$lng, prodRegions$lat,

chartdata = prodRegions[, c("hydraulic", "solar", "wind")],

time = prodRegions$month,

colorPalette = colors,

type="pie",

width = 45, height = 45

)

联系方式:

微信:ljty1991

个人公众号:数据小魔方(datamofang)

团队公众号:EasyCharts

qq交流群:[魔方学院]298236508

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值