Python|使用Pyecharts绘制调查问卷受调查人的分布地图
pyecharts简介
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
优点
- 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
- 囊括了 30+ 种常见图表,应有尽有
- 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
- 可轻松集成至 Flask,Django 等主流 Web 框架
- 高度灵活的配置项,可轻松搭配出精美的图表
- 详细的文档和示例,帮助开发者更快的上手项目
- 多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持
安装
打开Anaconda Prompt,输入命令:pip install pyecharts
使用Pyecharts绘制调查问卷受调查人的分布地图
需求分析
我需要从excel中生成分布图,其中文件格式如下:
百度的省份名称字典,这个链接中有整理:
中国城市所属省份,映射关系 - 数据字典 - 大象笔记 (sunzhongwei.com)
代码实现
关于代码中的各项配置,可以去pyecharts官网查看文档:
简介 - pyecharts - A Python Echarts Plotting Library built with love.
绘制地图的代码如下:
#map地图
import pandas as pd
from pyecharts.charts import Map
from pyecharts.faker import Faker
from pyecharts import options as opts
date = pd.read_csv('D:\OneDrive\桌面\Population.csv', encoding='GBK')
map = Map()
map.add("", date[['省份','人数']].values.tolist(), "china")
map.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_=32,
min_=0),
title_opts=opts.TitleOpts(title="受调查人的分布情况",subtitle="数据来源:调查问卷",pos_right="center",pos_top="5%"),
)
map.render("各省人数map.html")
运行结果
运行后会在当前目录生成各省人数map.html,用浏览器打开后结果如下:
当鼠标移动到对应区域后,会显示出对应省的人数。