地图主要用于地理区域数据的可视化,配合 visualMap 组件用于展示不同区域的人口分布密度等数据。
visualMap 是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。echarts 官网案例:https://echarts.apache.org/zh/option.html#visualMap-piecewise。
除了可以在地图上打点之外,我们如何在地图上做热力图呢?效果图如下:
首先介绍 visualMap 视觉映射组件。
visualMap: {
show: true,
min: 1,
max: 1000,
// splitNumber: 5,
inRange: {
color: ['#d94e5d', '#eac736', '#50a3ba'].reverse()
},
textStyle: {
color: '#fff'
},
},
设置 visualMap 组件的最大值和最小值,切分段数以及在选择范围中的视觉元素定义颜色、尺寸等。
引入地图信息:
geo: {
map: 'china',
type: 'map',
},
如何将数据铺在地图上呢?
function randomValue() {
return Math.round(Math.random()*1000);
}
series: [
//地图配置
{
name: 'china',
type: 'map',
mapType: 'china',
zoom: 1,
geoIndex: 0,
data: [
{name: '北京', value: randomValue()},
{name: '天津', value: randomValue()},
{name: '上海', value: randomValue()},
{name: '重庆', value: randomValue()},
{name: '河北', value: randomValue()},
{name: '河南', value: randomValue()},
{name: '云南', value: randomValue()},
{name: '辽宁', value: randomValue()},
{name: '黑龙江', value: randomValue()},
{name: '湖南', value: randomValue()},
{name: '安徽', value: randomValue()},
{name: '山东', value: randomValue()},
{name: '新疆', value: randomValue()},
{name: '江苏', value: randomValue()},
{name: '浙江', value: randomValue()},
{name: '江西', value: randomValue()},
{name: '湖北', value: randomValue()},
{name: '广西', value: randomValue()},
{name: '甘肃', value: randomValue()},
{name: '山西', value: randomValue()},
{name: '内蒙古', value: randomValue()},
{name: '陕西', value: randomValue()},
{name: '吉林', value: randomValue()},
{name: '福建', value: randomValue()},
{name: '贵州', value: randomValue()},
{name: '广东', value: randomValue()},
{name: '青海', value: randomValue()},
{name: '西藏', value: randomValue()},
{name: '四川', value: randomValue()},
{name: '宁夏', value: randomValue()},
{name: '海南', value: randomValue()},
{name: '台湾', value: randomValue()},
{name: '香港', value: randomValue()},
{name: '澳门', value: randomValue()}
]
}
]
更多详情,请参考官方案例:https://echarts.apache.org/examples/zh/editor.html?c=map-HK