在信息时代,数据可视化成为了展示地理信息的重要手段。ECharts 地图图表以其强大的功能和易用性,成为了地理数据可视化的热门工具。无论是展示全球贸易流向,还是分析区域经济分布,ECharts 都能提供丰富的解决方案。本文将为你提供 30 个实用案例,帮助你轻松上手 ECharts 地图图表,玩转地理数据可视化。

案例一:中国地图展示

主题句:使用 ECharts 实现中国地图的基本展示。

步骤

  1. 引入 ECharts 库。
  2. 创建一个地图实例。
  3. 设置地图的数据和样式。
  4. 渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '中国',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他省份
        ]
    }]
};

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

案例二:全球地图展示

主题句:展示全球地图的基本结构和功能。

步骤

  1. 引入 ECharts 库和全球地图数据。
  2. 创建地图实例。
  3. 设置地图的参数和样式。
  4. 渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '全球地图示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: function (params) {
            return params.name + ' : ' + params.value;
        }
    },
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: 'Afghanistan', value: Math.round(Math.random() * 1000)},
            // ... 其他国家
        ]
    }]
};

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

案例三:热力图展示

主题句:使用热力图展示地理数据的热点分布。

步骤

  1. 引入 ECharts 库和热力图数据。
  2. 创建地图实例。
  3. 设置地图的热力图参数。
  4. 渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '全球热力图示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: function (params) {
            return params.name + ' : ' + params.value;
        }
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'], // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: 'Afghanistan', value: Math.round(Math.random() * 1000)},
            // ... 其他国家
        ]
    }]
};

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

案例四:区域GDP分布

主题句:使用地图图表展示区域 GDP 分布情况。

步骤

  1. 引入 ECharts 库和区域 GDP 数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 map
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国区域 GDP 分布示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    series: [{
        name: 'GDP',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他省份
        ]
    }]
};

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

案例五:城市人口密度

主题句:使用地图图表展示城市人口密度。

步骤

  1. 引入 ECharts 库和城市人口密度数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 map
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国城市人口密度示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    visualMap: {
        min: 100000,
        max: 10000000,
        left: 'left',
        top: 'bottom',
        text: ['低','高'], // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '人口密度',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他城市
        ]
    }]
};

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

案例六:交通流量分析

主题句:使用地图图表展示交通流量分析。

步骤

  1. 引入 ECharts 库和交通流量数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 lines
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国交通流量分析示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '流量',
        type: 'lines',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他城市
        ],
        lineStyle: {
            opacity: 0.9,
            width: 1,
            curveness: 0
        }
    }]
};

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

案例七:旅游路线规划

主题句:使用地图图表展示旅游路线规划。

步骤

  1. 引入 ECharts 库和旅游路线数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 lines
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '旅游路线规划示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '路线',
        type: 'lines',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            {name: '杭州', value: [120.19, 30.26]},
            // ... 其他城市
        ],
        lineStyle: {
            opacity: 0.9,
            width: 1,
            curveness: 0
        }
    }]
};

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

案例八:天气状况展示

主题句:使用地图图表展示天气状况。

步骤

  1. 引入 ECharts 库和天气数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 scatter
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国天气状况示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '天气',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92, Math.round(Math.random() * 100)]},
            {name: '上海', value: [121.47, 31.23, Math.round(Math.random() * 100)]},
            // ... 其他城市
        ],
        symbolSize: 10,
        itemStyle: {
            color: '#f4e925',
            shadowBlur: 10,
            shadowColor: '#333'
        }
    }]
};

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

案例九:地震分布展示

主题句:使用地图图表展示地震分布情况。

步骤

  1. 引入 ECharts 库和地震数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 effectScatter
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地震分布示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '地震',
        type: 'effectScatter',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92, Math.round(Math.random() * 100)]},
            {name: '上海', value: [121.47, 31.23, Math.round(Math.random() * 100)]},
            // ... 其他城市
        ],
        symbolSize: 10,
        rippleEffect: {
            brushType: 'stroke'
        },
        itemStyle: {
            color: '#f4e925',
            shadowBlur: 10,
            shadowColor: '#333'
        }
    }]
};

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

案例十:人口迁徙分析

主题句:使用地图图表展示人口迁徙分析。

步骤

  1. 引入 ECharts 库和人口迁徙数据。
  2. 创建地图实例。
  3. 设置地图的系列类型为 lines
  4. 设置数据并渲染地图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入区域地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国人口迁徙分析示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '迁徙',
        type: 'lines',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他城市
        ],
        lineStyle: {
            opacity: 0.9,
            width: 1,
            curveness: 0
        }
    }]
};

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

总结

通过以上 10 个案例,你已经对 ECharts 地图图表的基本使用有了初步的了解。ECharts 提供了丰富的功能和强大的扩展性,能够满足各种地理数据可视化的需求。在实际应用中,你可以根据自己的需求,选择合适的地图类型、系列类型、数据格式和样式,制作出精美的地图图表。

希望本文能够帮助你轻松上手 ECharts 地图图表,玩转地理数据可视化。