在数据可视化的世界里,ECharts 地图图表以其强大的功能和丰富的特性,成为了许多开发者首选的工具之一。对于新手来说,ECharts 地图图表可能显得有些复杂,但别担心,本文将带你通过20个实用案例,轻松上手 ECharts 地图图表,让你玩转数据可视化。

1. 基础地图展示

首先,我们从最基础的地图展示开始。通过 ECharts,你可以轻松地将一个国家或地区的地图展示出来。

var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'map',
        mapType: 'china'
    }]
};

myChart.setOption(option);

2. 省级地图

接下来,我们可以展示省级地图,比如展示某个省份的地图。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        selectedMode: 'single',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            selected: true
        }]
    }]
};

3. 城市级地图

在更细粒度上,我们可以展示城市级的地图。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }]
};

4. 地图热力图

热力图可以直观地展示某个区域的热度。

var option = {
    series: [{
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            [116.46,39.92,100],
            [116.46,39.91,80],
            // 更多数据...
        ]
    }]
};

5. 地图点击事件

ECharts 地图支持点击事件,可以用来实现交互。

myChart.on('click', function (params) {
    console.log(params.name);
});

6. 地图缩放与平移

用户可以通过鼠标滚轮或拖动来缩放和平移地图。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        zoom: 1.2,
        roam: true
    }]
};

7. 地图自定义样式

你可以自定义地图的样式,比如颜色、边框等。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        itemStyle: {
            normal: {
                borderColor: '#f0f0f0',
                areaColor: '#c9c9c9'
            },
            emphasis: {
                borderColor: '#f4e925',
                areaColor: '#f4e925'
            }
        }
    }]
};

8. 地图数据统计

通过地图展示数据统计结果,如人口、GDP 等。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 2000000
        }]
    }]
};

9. 地图动画效果

ECharts 地图支持丰富的动画效果,可以用来增强视觉效果。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        animation: true,
        data: [{
            name: '北京市',
            value: 100
        }]
    }]
};

10. 地图多层级展示

在地图上展示多个层级的数据,如国家、省份、城市等。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }]
};

11. 地图与折线图结合

将地图与折线图结合,展示数据趋势。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'line',
        data: [
            [116.46,39.92,100],
            [116.46,39.91,80],
            // 更多数据...
        ]
    }]
};

12. 地图与散点图结合

将地图与散点图结合,展示数据分布。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            [116.46,39.92,100],
            [116.46,39.91,80],
            // 更多数据...
        ]
    }]
};

13. 地图与饼图结合

将地图与饼图结合,展示数据占比。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'pie',
        center: ['50%', '50%'],
        radius: '30%',
        data: [
            {value: 100, name: '北京'},
            {value: 80, name: '上海'},
            // 更多数据...
        ]
    }]
};

14. 地图与柱状图结合

将地图与柱状图结合,展示数据对比。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'bar',
        data: [
            {name: '北京', value: 100},
            {name: '上海', value: 80},
            // 更多数据...
        ]
    }]
};

15. 地图与雷达图结合

将地图与雷达图结合,展示多维度数据。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'radar',
        data: [
            {
                name: '北京',
                value: [100, 90, 80, 70, 60]
            },
            // 更多数据...
        ]
    }]
};

16. 地图与漏斗图结合

将地图与漏斗图结合,展示数据筛选过程。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'funnel',
        data: [
            {value: 100, name: '北京'},
            {value: 80, name: '上海'},
            // 更多数据...
        ]
    }]
};

17. 地图与仪表盘结合

将地图与仪表盘结合,展示实时数据。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'gauge',
        center: ['50%', '50%'],
        radius: '30%',
        data: [
            {value: 100, name: '北京'}
        ]
    }]
};

18. 地图与词云结合

将地图与词云结合,展示关键词分布。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'wordCloud',
        data: [
            {name: '北京', value: 100},
            {name: '上海', value: 80},
            // 更多数据...
        ]
    }]
};

19. 地图与地图结合

将多个地图叠加在一起,展示不同维度数据。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '上海市',
            value: 80
        }]
    }]
};

20. 地图与自定义组件结合

将地图与自定义组件结合,展示个性化数据。

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京市',
            value: 100
        }]
    }, {
        type: 'custom',
        coordinateSystem: 'geo',
        renderItem: function (params) {
            return {
                type: 'text',
                position: [params.data.value[0], params.data.value[1]],
                style: {
                    text: params.data.name,
                    fill: '#f00',
                    fontSize: 14
                }
            };
        },
        data: [
            {name: '北京', value: [116.46,39.92]}
        ]
    }]
};

通过以上20个实用案例,相信你已经对 ECharts 地图图表有了更深入的了解。接下来,你可以根据自己的需求,将这些案例进行组合和创新,创造出更多有趣的数据可视化作品。祝你在数据可视化的道路上越走越远!