地图图表是一种直观展示地理分布和空间关系的数据可视化工具,而ECharts作为一款强大的前端可视化库,提供了丰富的地图图表功能。对于新手来说,通过一些实际案例的学习,可以快速上手并掌握地图图表的制作。以下,我将通过5个实用案例,带你一步步玩转ECharts地图图表制作。

案例1:中国31省市区人口分布地图

1.1 准备工作

  • 引入ECharts库和china地图数据。
  • 准备一个地图数据JSON文件,包含每个省份的名称和对应的人口数据。

1.2 代码实现

// 引入ECharts主模块和地图组件
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国31省市区人口分布地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 50000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京', value: 21541868},
                // ... 其他省份数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

1.3 代码解析

  • 创建ECharts实例。
  • 配置图表标题、提示框、视觉映射组件。
  • 定义地图类型、是否允许缩放、标签显示。
  • 添加地图数据和系列配置。

案例2:世界各大洲GDP分布地图

2.1 准备工作

  • 引入ECharts库和世界地图数据。
  • 准备一个地图数据JSON文件,包含各大洲的名称和对应的经济数据。

2.2 代码实现

// ... 与案例1类似,只需替换mapType为'world',并调整数据
var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '世界各大洲GDP分布地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        // ... 配置与案例1相同
    },
    series: [
        {
            name: 'GDP',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '欧洲', value: 2500000000000},
                // ... 其他大洲数据
            ]
        }
    ]
};

myChart.setOption(option);

2.3 代码解析

  • 修改地图类型为’world’。
  • 根据各大洲GDP数据更新series中的data。

案例3:中国城市空气质量地图

3.1 准备工作

  • 引入ECharts库和城市空气质量数据。
  • 准备一个地图数据JSON文件,包含各个城市的名称和空气质量指数。

3.2 代码实现

// ... 与案例1类似,只需调整series中的type为'heatmap',并调整数据
var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国城市空气质量地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        // ... 配置与案例1相同
    },
    series: [
        {
            name: '空气质量',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: 100},
                // ... 其他城市数据
            ]
        }
    ]
};

myChart.setOption(option);

3.3 代码解析

  • 将series中的type修改为’heatmap’。
  • 使用空气质量指数作为value。

案例4:全球人口密度地图

4.1 准备工作

  • 引入ECharts库和全球人口密度数据。
  • 准备一个地图数据JSON文件,包含各个国家的名称和人口密度数据。

4.2 代码实现

// ... 与案例1类似,只需调整series中的type为'effectScatter',并调整数据
var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '全球人口密度地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        // ... 配置与案例1相同
    },
    series: [
        {
            name: '人口密度',
            type: 'effectScatter',
            coordinateSystem: 'geo',
            data: [
                {name: '印度', value: 1000},
                // ... 其他国家数据
            ],
            symbolSize: function (val) {
                return val / 100;
            }
        }
    ]
};

myChart.setOption(option);

4.3 代码解析

  • 将series中的type修改为’effectScatter’。
  • 使用人口密度数据作为value,并通过symbolSize调整散点大小。

案例5:中国各省份旅游景点地图

5.1 准备工作

  • 引入ECharts库和旅游景点数据。
  • 准备一个地图数据JSON文件,包含各个省份的旅游景点名称和坐标。

5.2 代码实现

// ... 与案例1类似,只需调整series中的type为'markPoint',并调整数据
var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国各省份旅游景点地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        // ... 配置与案例1相同
    },
    series: [
        {
            name: '旅游景点',
            type: 'markPoint',
            symbolSize: 100,
            data: [
                {name: '故宫', value: 1, coordinate: [116.397128, 39.907772]},
                // ... 其他旅游景点数据
            ]
        }
    ]
};

myChart.setOption(option);

5.3 代码解析

  • 将series中的type修改为’markPoint’。
  • 使用景点名称、value和坐标数据。

通过以上5个案例的学习,相信你已经对ECharts地图图表的制作有了基本的了解。在实际应用中,可以根据需求调整地图类型、数据格式、图表配置等,制作出更多富有创意的数据可视化作品。祝你在数据可视化的道路上越走越远!