echarts地图上设置散点图

公众号:前端很忙

前段时间,负责的项目上有一个开发 echarts 地图需求,有了之前的经验,配置地图相对来说简单很多。

但是这次要求在地图上铺设散点,这个是之前没有做过的,单独开发地图或者单独开发散点图难度都不是很大,但两种图形结合起来,还需要自定义,这就需要研究一下了。

通过这篇文章你可以学会如何在地图上自定义显示散点。

1、初始化地图

这里地图以广州市地图为例。首先获取广州市地理 json 文件,通过 registerMap 方法初始化地图。正常情况下,地图数据应为请求后台返回的。

公众号:前端很忙

2、设置散点坐标及数据

散点也是根据坐标来铺设。坐标是必须的,需要显示哪些数据,可以根据不同的业务需求来初始化。

公众号:前端很忙

正常情况下,散点坐标和数据也应该是后台返回,案例中的 converData 方法,是将散点 value 和坐标拼接在了一起,方便查看效果而已。

3、添加散点图配置和地图配置

公众号:前端很忙

series (系列列表配置)中添加两个图表配置,通过修改 type 值,决定图表类型(散点图和地图),具体细节配置选项请参看官方 echarts 文档。

案例源码已上传 https://github.com/zhangqian00/echarts-map-scatter

如果觉得有帮助,就分享给你觉得需要的朋友吧!

公众号:前端很忙
前端公众号【前端很忙】

如何自定义地图,可以查看往期文章:

自定义echarts地图
要在echarts地图上显示散点图,需要在series(系列列表配置)中添加两个图表配置,通过修改type值,决定图表类型(散点图和地图)。具体步骤如下: 1.在html文件中引入echarts.js文件。 2.在html文件中创建一个div元素,用于显示echarts地图。 3.在JavaScript文件中定义一个echarts实例,并将其与div元素关联。 4.在JavaScript文件中定义一个option对象,用于配置echarts地图。 5.在option对象中添加series(系列列表配置)配置项,用于添加散点图和地图。 6.在series配置项中添加两个图表配置,一个用于散点图,一个用于地图。 7.在散点图配置中,设置type为scatter,然后设置data为散点图的数据。 8.在地图配置中,设置type为map,然后设置mapType为地图类型,设置data为地图的数据。 9.最后,调用echarts实例的setOption方法,将option对象传递给它,以显示echarts地图。 下面是一个示例代码,用于在echarts地图上显示散点图: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script> var myChart = echarts.init(document.getElementById('main')); var option = { series: [ { type: 'scatter', data: [[10, 20], [20, 30], [30, 40], [40, 50]] }, { type: 'map', mapType: 'china', data: [ {name: '北京', value: Math.round(Math.random() * 1000)}, {name: '天津', value: Math.round(Math.random() * 1000)}, {name: '上海', value: Math.round(Math.random() * 1000)}, {name: '重庆', value: Math.round(Math.random() * 1000)}, {name: '河北', value: Math.round(Math.random() * 1000)}, {name: '河南', value: Math.round(Math.random() * 1000)}, {name: '云南', value: Math.round(Math.random() * 1000)}, {name: '辽宁', value: Math.round(Math.random() * 1000)}, {name: '黑龙江', value: Math.round(Math.random() * 1000)}, {name: '湖南', value: Math.round(Math.random() * 1000)}, {name: '安徽', value: Math.round(Math.random() * 1000)}, {name: '山东', value: Math.round(Math.random() * 1000)}, {name: '新疆', value: Math.round(Math.random() * 1000)}, {name: '江苏', value: Math.round(Math.random() * 1000)}, {name: '浙江', value: Math.round(Math.random() * 1000)}, {name: '江西', value: Math.round(Math.random() * 1000)}, {name: '湖北', value: Math.round(Math.random() * 1000)}, {name: '广西', value: Math.round(Math.random() * 1000)}, {name: '甘肃', value: Math.round(Math.random() * 1000)}, {name: '山西', value: Math.round(Math.random() * 1000)}, {name: '内蒙古', value: Math.round(Math.random() * 1000)}, {name: '陕西', value: Math.round(Math.random() * 1000)}, {name: '吉林', value: Math.round(Math.random() * 1000)}, {name: '福建', value: Math.round(Math.random() * 1000)}, {name: '贵州', value: Math.round(Math.random() * 1000)}, {name: '广东', value: Math.round(Math.random() * 1000)}, {name: '青海', value: Math.round(Math.random() * 1000)}, {name: '西藏', value: Math.round(Math.random() * 1000)}, {name: '四川', value: Math.round(Math.random() * 1000)}, {name: '宁夏', value: Math.round(Math.random() * 1000)}, {name: '海南', value: Math.round(Math.random() * 1000)}, {name: '台湾', value: Math.round(Math.random() * 1000)}, {name: '香港', value: Math.round(Math.random() * 1000)}, {name: '澳门', value: Math.round(Math.random() * 1000)} ] } ] }; myChart.setOption(option); </script> </body> </html> ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值