什么是Pyecharts?

Pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是百度开源的一个可视化库,用 JavaScript 实现,功能非常强大。而 Pyecharts 让我们能用 Python 来调用 Echarts,无需懂 JavaScript 就能做出漂亮的交互式图表。

简单理解:Pyecharts 是 Python 和 Echarts 的桥梁,让你用简单的 Python 代码就能创建专业级图表。

安装与环境配置

安装 Pyecharts 非常简单,只需要一行命令:

pip install pyecharts

可选安装:如果你需要在地图上绘制地理信息,还需要安装地图扩展包:

pip install echarts-countries-pypkg # 全球国家地图
pip install echarts-china-provinces-pypkg # 中国省级地图
pip install echarts-china-cities-pypkg # 中国城市地图

注意:Pyecharts 支持 Python 3.6+ 版本,不再支持 Python 2。

基本使用步骤

使用 Pyecharts 创建图表只需要四步:

  1. 导入图表类:从 pyecharts.charts 导入所需图表类
  2. 创建图表对象:实例化一个图表对象
  3. 添加数据:使用 add() 方法添加数据和配置项
  4. 生成文件:使用 render() 方法生成 HTML 文件

示例代码:创建一个简单的柱状图

# 1. 导入柱状图类
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)

.set_global_opts(
  title_opts=opts.TitleOpts(
    title=”主标题”,
    subtitle=”副标题”
  )
)

图例配置 (LegendOpts)

.set_global_opts(
  legend_opts=opts.LegendOpts(
    pos_left=”right”, # 图例位置
    orient=”vertical” # 垂直排列
  )
)

坐标轴配置 (AxisOpts)

.set_global_opts(
  xaxis_opts=opts.AxisOpts(
    name=”X轴名称”,
    name_location=”end”
  ),
  yaxis_opts=opts.AxisOpts(
    name=”Y轴名称”,
    name_location=”end”
  )
)

工具箱配置 (ToolboxOpts)

.set_global_opts(
  toolbox_opts=opts.ToolboxOpts(
    is_show=True, # 显示工具箱
    feature={
      “saveAsImage”: {}, # 保存为图片
      “dataZoom”: {}, # 区域缩放
      “restore”: {}, # 还原
      “dataView”: {} # 数据视图
    }
  )
)