轻松学会echarts地图图表:10个实用案例教你玩转地理数据可视化

2026-11-04 0 阅读

案例一:中国地图展示

在echarts中,展示中国地图是一个基础且实用的案例。首先,你需要准备中国地图的JSON数据,然后通过echarts的map系列来绘制。

// 引入echarts主模块
var echarts = require('echarts/lib/echarts');
// 引入地图组件
require('echarts/lib/chart/map');
// 引入中国地图数据
require('echarts/map/js/china');

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);

案例二:世界地图展示

世界地图的展示与中国地图类似,只是需要引入世界地图的JSON数据。

// 引入世界地图数据
require('echarts/map/js/world');

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

var option = {
    title: {
        text: '世界地图示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        label: {
            show: true
        },
        data: [
            {name: '美国', value: Math.round(Math.random() * 1000)},
            {name: '加拿大', value: Math.round(Math.random() * 1000)},
            // ... 其他国家数据
        ]
    }]
};

myChart.setOption(option);

案例三:省份地图展示

展示某个省份的地图,需要引入该省份的JSON数据。

// 引入省份地图数据
require('echarts/map/js/province');

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

var option = {
    title: {
        text: '广东省地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '广东省',
        type: 'map',
        mapType: '广东',
        label: {
            show: true
        },
        data: [
            {name: '广州', value: Math.round(Math.random() * 1000)},
            {name: '深圳', value: Math.round(Math.random() * 1000)},
            // ... 其他城市数据
        ]
    }]
};

myChart.setOption(option);

案例四:自定义地图展示

如果你需要展示一个自定义的地图,可以通过绘制地图的轮廓来实现。

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

var option = {
    title: {
        text: '自定义地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'custom',
        label: {
            show: true
        },
        // 这里需要自定义地图的路径
        geoCoordMap: {
            '点1': [116.46, 39.92],
            '点2': [121.47, 31.23],
            // ... 其他坐标点
        },
        data: [
            {name: '点1', value: Math.round(Math.random() * 1000)},
            {name: '点2', value: Math.round(Math.random() * 1000)},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例五:地图上的热力图

在地图上展示热力图,可以通过heatmap系列来实现。

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

var option = {
    title: {
        text: '地图热力图示例'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    series: [{
        name: '热力图',
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92, 100]},
            {name: '上海', value: [121.47, 31.23, 80]},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例六:地图上的折线图

在地图上展示折线图,可以通过line系列来实现。

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

var option = {
    title: {
        text: '地图折线图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '折线图',
        type: 'line',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例七:地图上的散点图

在地图上展示散点图,可以通过scatter系列来实现。

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]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例八:地图上的柱状图

在地图上展示柱状图,可以通过bar系列来实现。

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

var option = {
    title: {
        text: '地图柱状图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '柱状图',
        type: 'bar',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例九:地图上的饼图

在地图上展示饼图,可以通过pie系列来实现。

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

var option = {
    title: {
        text: '地图饼图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '饼图',
        type: 'pie',
        coordinateSystem: 'geo',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ... 其他数据点
        ]
    }]
};

myChart.setOption(option);

案例十:地图上的组合图表

在地图上展示组合图表,可以通过将多个图表系列组合在一起来实现。

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

var option = {
    title: {
        text: '地图组合图表示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '组合图表',
        type: 'custom',
        coordinateSystem: 'geo',
        // ... 其他配置项
    }, {
        name: '饼图',
        type: 'pie',
        coordinateSystem: 'geo',
        // ... 其他配置项
    }]
};

myChart.setOption(option);

通过以上10个案例,你可以轻松学会如何使用echarts进行地理数据可视化。在实际应用中,你可以根据自己的需求选择合适的图表类型和配置项,以达到最佳的效果。

分享到: