掌握echarts地图图表,轻松绘制中国城市分布可视化案例全解析

2026-09-03 0 阅读

在数据可视化领域,ECharts 是一款功能强大、使用便捷的 JavaScript 库。它可以帮助我们轻松地创建各种图表,包括地图图表。本文将带领你一步步掌握如何使用 ECharts 绘制中国城市分布的可视化案例。

准备工作

在开始之前,请确保你已经安装了 ECharts 库。你可以从 ECharts 的官方网站下载并引入到你的项目中。

<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.3/dist/echarts.min.js"></script>

1. 地图数据准备

首先,我们需要准备中国城市分布的数据。这里我们可以使用 ECharts 内置的地图数据,也可以从第三方数据源获取。

1.1 使用内置地图数据

ECharts 内置了中国地图的 JSON 数据,你可以直接使用。

var geoCoordMap = {
  '北京': [116.46, 39.92],
  '上海': [121.48, 31.22],
  // ... 其他城市坐标
};

1.2 使用第三方数据源

如果你需要更详细的城市数据,可以从第三方数据源获取,例如高德地图、百度地图等。

2. 创建地图图表

接下来,我们将使用 ECharts 创建一个地图图表。

2.1 初始化图表

首先,我们需要在 HTML 中创建一个容器元素,并为其设置宽度和高度。

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

然后,使用 ECharts 初始化图表。

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

2.2 配置图表选项

接下来,我们需要配置图表的选项。这里包括地图的配置、数据配置等。

var option = {
  title: {
    text: '中国城市分布'
  },
  tooltip: {
    trigger: 'item'
  },
  geo: {
    map: 'china',
    label: {
      emphasis: {
        show: false
      }
    },
    roam: true,
    itemStyle: {
      normal: {
        areaColor: '#323c48',
        borderColor: '#111'
      },
      emphasis: {
        areaColor: '#2a333d'
      }
    }
  },
  series: [
    {
      name: '城市',
      type: 'effectScatter',
      coordinateSystem: 'geo',
      data: [
        {
          name: '北京',
          value: [116.46, 39.92]
        },
        {
          name: '上海',
          value: [121.48, 31.22]
        },
        // ... 其他城市数据
      ],
      symbolSize: function (val) {
        return val[2] / 10;
      },
      showEffectOn: 'render',
      rippleEffect: {
        brushType: 'stroke'
      },
      hoverAnimation: true,
      label: {
        normal: {
          formatter: '{b}',
          position: 'right',
          show: true
        }
      },
      itemStyle: {
        normal: {
          color: '#f4e925',
          shadowBlur: 10,
          shadowColor: '#333'
        }
      },
      zlevel: 1
    }
  ]
};

2.3 渲染图表

最后,我们将配置好的选项设置到图表实例中,并渲染图表。

myChart.setOption(option);

3. 优化与扩展

3.1 动画效果

ECharts 支持丰富的动画效果,你可以通过配置 animationanimationDuration 等参数来实现。

series: [
  // ...
  {
    animation: true,
    animationDuration: 1000
  }
]

3.2 标注与标签

你可以使用 label 配置来添加标注和标签。

series: [
  // ...
  {
    label: {
      normal: {
        show: true,
        position: 'top',
        formatter: '{b}'
      }
    }
  }
]

3.3 数据交互

ECharts 支持丰富的数据交互功能,例如点击事件、鼠标悬停事件等。

tooltip: {
  trigger: 'item',
  formatter: function (params) {
    return params.name + ':' + params.value[2];
  }
}

总结

通过本文的介绍,相信你已经掌握了使用 ECharts 绘制中国城市分布可视化案例的方法。在实际应用中,你可以根据自己的需求进行优化和扩展,创造出更多精彩的可视化效果。

分享到: