揭秘echarts地图图表,轻松上手绘制中国各大城市分布图案例

2026-10-26 0 阅读

ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了一系列丰富的图表类型,包括地图图表。地图图表可以用来展示地理位置分布、数据密度等信息,非常适合展示国家、地区、城市等地理信息。本文将带您一起探索如何使用 ECharts 绘制中国各大城市分布图。

环境准备

在开始绘制地图图表之前,您需要确保以下环境已经准备好:

  1. 浏览器环境:ECharts 支持所有主流浏览器,包括 Chrome、Firefox、Safari 和 Edge。
  2. Node.js 环境(可选):如果您打算使用 ECharts 的构建版本,需要 Node.js 环境。
  3. ECharts 库:可以从 ECharts 官网下载所需版本的 ECharts 库。

创建基础地图

1. 引入 ECharts 库

首先,在 HTML 文件中引入 ECharts 库。可以通过 CDN 链接或本地文件引入。

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

2. 准备地图数据

ECharts 地图图表需要地图数据,这些数据通常是 GeoJSON 格式。对于中国地图,可以从 ECharts 官网下载相应的 GeoJSON 数据。

3. 创建图表容器

在 HTML 文件中创建一个用于承载图表的容器元素。

<div id="main" style="width: 600px;height:400px;"></div>

4. 初始化图表

在 JavaScript 中初始化 ECharts 实例,并设置图表的配置项。

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

var option = {
    title: {
        text: '中国各大城市分布图'
    },
    tooltip: {
        trigger: 'item'
    },
    geo: {
        map: 'china',
        roam: true, // 允许缩放和平移
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '城市分布',
            type: 'map',
            mapType: 'china',
            data: [
                // 这里可以添加城市数据
            ]
        }
    ]
};

myChart.setOption(option);

添加城市数据

在 series 配置项中,我们可以添加城市数据。以下是一个简单的示例:

series: [
    {
        name: '城市分布',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: 100},
            {name: '上海', value: 200},
            // ... 其他城市数据
        ]
    }
]

在这个例子中,我们为北京和上海添加了数据,其中 value 属性可以用来表示城市的人口或其他统计数据。

高级功能

1. 热力图

如果需要显示城市的人口密度或其他数据的热力图效果,可以使用 heatmap 属性。

{
    name: '城市分布',
    type: 'map',
    mapType: 'china',
    data: [
        // ... 城市数据
    ],
    heatmap: {
        data: [
            // ... 热力图数据
        ]
    }
}

2. 按城市筛选

通过 data 属性的 name 和 value,您可以控制哪些城市被显示在地图上。

series: [
    {
        name: '城市分布',
        type: 'map',
        mapType: 'china',
        data: [
            // ... 城市数据
        ]
    }
]

3. 自定义地图样式

ECharts 允许您自定义地图的样式,包括颜色、阴影等。

geo: {
    // ... 其他配置项
    itemStyle: {
        // ... 自定义样式
    }
}

总结

通过以上步骤,您可以使用 ECharts 绘制中国各大城市分布图。ECharts 提供了丰富的功能和定制选项,可以让您的地图图表更加生动和具有信息量。随着实践经验的积累,您将能够创作出更加复杂和精美的地图图表。

分享到: