Pyecharts 完全指南
编程小白也能轻松掌握的Python数据可视化神器
什么是Pyecharts?
Pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是百度开源的一个可视化库,用 JavaScript 实现,功能非常强大。而 Pyecharts 让我们能用 Python 来调用 Echarts,无需懂 JavaScript 就能做出漂亮的交互式图表。
简单理解:Pyecharts 是 Python 和 Echarts 的桥梁,让你用简单的 Python 代码就能创建专业级图表。
安装与环境配置
安装 Pyecharts 非常简单,只需要一行命令:
可选安装:如果你需要在地图上绘制地理信息,还需要安装地图扩展包:
pip install echarts-china-provinces-pypkg # 中国省级地图
pip install echarts-china-cities-pypkg # 中国城市地图
注意:Pyecharts 支持 Python 3.6+ 版本,不再支持 Python 2。
基本使用步骤
使用 Pyecharts 创建图表只需要四步:
- 导入图表类:从 pyecharts.charts 导入所需图表类
- 创建图表对象:实例化一个图表对象
- 添加数据:使用 add() 方法添加数据和配置项
- 生成文件:使用 render() 方法生成 HTML 文件
示例代码:创建一个简单的柱状图
from pyecharts.charts import Bar
# 2. 创建柱状图对象
bar = Bar()
# 3. 添加数据
bar.add_xaxis([“衬衫”, “毛衣”, “裤子”, “鞋子”, “帽子”])
bar.add_yaxis(“商家A”, [75, 45, 80, 60, 90])
bar.add_yaxis(“商家B”, [85, 35, 70, 75, 80])
# 4. 生成HTML文件
bar.render(“my_first_chart.html”)
运行后会在当前目录生成一个 HTML 文件,用浏览器打开即可看到交互式图表,支持缩放、数据提示、图例开关等功能!
常用图表类型
Pyecharts 支持数十种图表类型,下面是最常用的几种:
柱状图 (Bar)
用于比较不同类别的数据
from pyecharts.charts import Bar
折线图 (Line)
展示数据随时间的变化趋势
from pyecharts.charts import Line
饼图 (Pie)
显示各部分占整体的比例
from pyecharts.charts import Pie
散点图 (Scatter)
观察两个变量之间的关系
from pyecharts.charts import Scatter
地图 (Map)
地理数据可视化
from pyecharts.charts import Map
热力图 (HeatMap)
用颜色表示数据矩阵
from pyecharts.charts import HeatMap
比较数据
趋势分析
比例关系
地理数据
分布关系
全局配置项
使用 set_global_opts()
方法可以设置图表的全局配置,让你的图表更专业:
标题配置 (TitleOpts)
title_opts=opts.TitleOpts(
title=”主标题”,
subtitle=”副标题”
)
)
图例配置 (LegendOpts)
legend_opts=opts.LegendOpts(
pos_left=”right”, # 图例位置
orient=”vertical” # 垂直排列
)
)
坐标轴配置 (AxisOpts)
xaxis_opts=opts.AxisOpts(
name=”X轴名称”,
name_location=”end”
),
yaxis_opts=opts.AxisOpts(
name=”Y轴名称”,
name_location=”end”
)
)
工具箱配置 (ToolboxOpts)
toolbox_opts=opts.ToolboxOpts(
is_show=True, # 显示工具箱
feature={
“saveAsImage”: {}, # 保存为图片
“dataZoom”: {}, # 区域缩放
“restore”: {}, # 还原
“dataView”: {} # 数据视图
}
)
)
学习技巧
1. 从简单图表开始:先掌握柱状图、折线图等基础图表
2. 善用官方示例:Pyecharts 有丰富的示例库供参考
3. 分步调试:每添加一个配置项就生成图表查看效果
4. 活用Jupyter:在 Jupyter 中可以直接显示图表,方便调试
主题设置
Pyecharts 内置多种主题,一键切换:
bar = Bar(init_opts=opts.InitOpts(
theme=ThemeType.LIGHT # 可选:LIGHT, DARK, CHALK等
))
常用主题:
- ThemeType.LIGHT – 明亮主题
- ThemeType.DARK – 暗黑主题
- ThemeType.CHALK – 粉笔风格
- ThemeType.ESSOS – 橘色风格
系列配置项
在 add()
方法中设置系列配置,个性化每个数据系列:
series_name=”商家A”,
y_axis=[75, 45, 80, 60, 90],
label_opts=opts.LabelOpts(is_show=True), # 显示数值
itemstyle_opts=opts.ItemStyleOpts(color=”blue”) # 设置颜色
)
常用配置项:
- stack – 数据堆叠
- symbol_size – 散点大小
- radius – 饼图半径
- type – 折线图类型(平滑曲线等)