在数据可视化领域,ECharts 是一款非常流行的 JavaScript 库,它可以帮助开发者轻松创建各种图表,包括地图图表。地图图表在展示地理分布数据时尤其有用,比如人口分布、销售数据、天气情况等。对于新手来说,ECharts 地图图表可能看起来有些复杂,但不用担心,本文将为你提供10个实用案例,帮助你轻松上手,快速提升可视化技能。

案例一:中国地图展示人口分布

1.1 准备工作

首先,你需要引入 ECharts 库和地图数据。这里以中国地图为例,你可以从 ECharts 官网下载地图数据。

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/map/js/china.js"></script>

1.2 配置地图图表

接下来,我们可以通过以下代码创建一个简单的中国地图图表:

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

var option = {
    title: {
        text: '中国人口分布'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                show: true
            },
            data: [
                {name: '北京', value: 1000},
                {name: '上海', value: 900},
                // ... 其他省份数据
            ]
        }
    ]
};

myChart.setOption(option);

1.3 效果展示

运行以上代码,你将看到一个展示中国人口分布的地图图表。

案例二:世界地图展示国家 GDP

2.1 准备工作

与世界地图相关的数据可以从 ECharts 官网下载。

2.2 配置地图图表

以下代码展示了如何创建一个展示世界国家 GDP 的地图图表:

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

var option = {
    title: {
        text: '世界国家 GDP'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} (亿美元)'
    },
    visualMap: {
        min: 0,
        max: 10000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: 'GDP',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: 'China', value: 10000},
                {name: 'United States', value: 9000},
                // ... 其他国家数据
            ]
        }
    ]
};

myChart.setOption(option);

2.3 效果展示

运行以上代码,你将看到一个展示世界国家 GDP 的地图图表。

案例三:省市区联动地图

3.1 准备工作

省市区联动地图需要使用到 ECharts 的 geo 组件。

3.2 配置地图图表

以下代码展示了如何创建一个省市区联动地图:

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

var option = {
    title: {
        text: '省市区联动地图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                show: true
            },
            data: [
                {name: '北京市', value: 1000},
                {name: '上海市', value: 900},
                // ... 其他省市区数据
            ]
        }
    ]
};

myChart.setOption(option);

3.3 效果展示

运行以上代码,你将看到一个展示省市区人口分布的地图图表。

案例四:地图热力图

4.1 准备工作

地图热力图需要使用到 ECharts 的 heatmap 组件。

4.2 配置地图图表

以下代码展示了如何创建一个地图热力图:

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

var option = {
    title: {
        text: '地图热力图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [116.46,39.92,1000]},
                {name: '上海市', value: [121.47,31.23,900]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

4.3 效果展示

运行以上代码,你将看到一个展示人口分布热力图的地图图表。

案例五:地图折线图

5.1 准备工作

地图折线图需要使用到 ECharts 的 line 组件。

5.2 配置地图图表

以下代码展示了如何创建一个地图折线图:

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

var option = {
    title: {
        text: '地图折线图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'line',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [116.46,39.92,1000]},
                {name: '上海市', value: [121.47,31.23,900]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

5.3 效果展示

运行以上代码,你将看到一个展示人口分布折线图的地图图表。

案例六:地图散点图

6.1 准备工作

地图散点图需要使用到 ECharts 的 scatter 组件。

6.2 配置地图图表

以下代码展示了如何创建一个地图散点图:

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

var option = {
    title: {
        text: '地图散点图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [116.46,39.92,1000]},
                {name: '上海市', value: [121.47,31.23,900]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

6.3 效果展示

运行以上代码,你将看到一个展示人口分布散点图的地图图表。

案例七:地图柱状图

7.1 准备工作

地图柱状图需要使用到 ECharts 的 bar 组件。

7.2 配置地图图表

以下代码展示了如何创建一个地图柱状图:

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

var option = {
    title: {
        text: '地图柱状图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'bar',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [116.46,39.92,1000]},
                {name: '上海市', value: [121.47,31.23,900]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

7.3 效果展示

运行以上代码,你将看到一个展示人口分布柱状图的地图图表。

案例八:地图饼图

8.1 准备工作

地图饼图需要使用到 ECharts 的 pie 组件。

8.2 配置地图图表

以下代码展示了如何创建一个地图饼图:

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

var option = {
    title: {
        text: '地图饼图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'pie',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: 1000},
                {name: '上海市', value: 900},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

8.3 效果展示

运行以上代码,你将看到一个展示人口分布饼图的地图图表。

案例九:地图雷达图

9.1 准备工作

地图雷达图需要使用到 ECharts 的 radar 组件。

9.2 配置地图图表

以下代码展示了如何创建一个地图雷达图:

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

var option = {
    title: {
        text: '地图雷达图'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'radar',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [1000, 900, 800, 700, 600]},
                {name: '上海市', value: [900, 800, 700, 600, 500]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

9.3 效果展示

运行以上代码,你将看到一个展示人口分布雷达图的地图图表。

案例十:地图组合图表

10.1 准备工作

地图组合图表需要使用到 ECharts 的多个组件。

10.2 配置地图图表

以下代码展示了如何创建一个地图组合图表:

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

var option = {
    title: {
        text: '地图组合图表'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '人口',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                show: true
            },
            data: [
                {name: '北京市', value: 1000},
                {name: '上海市', value: 900},
                // ... 其他省市区数据
            ]
        },
        {
            name: 'GDP',
            type: 'line',
            coordinateSystem: 'geo',
            data: [
                {name: '北京市', value: [116.46,39.92,1000]},
                {name: '上海市', value: [121.47,31.23,900]},
                // ... 其他数据
            ]
        }
    ]
};

myChart.setOption(option);

10.3 效果展示

运行以上代码,你将看到一个展示人口分布和 GDP 的地图组合图表。

通过以上10个实用案例,相信你已经对 ECharts 地图图表有了更深入的了解。在实际应用中,你可以根据自己的需求进行修改和扩展。希望这些案例能够帮助你快速提升可视化技能,在数据可视化领域取得更好的成绩!