基本概念
Pyecharts 是一个基于 ECharts 的 Python 数据可视化库,具有以下特点:
-
基于 ECharts:底层使用百度开源的 ECharts 图表库
-
多种图表类型:支持折线图、柱状图、饼图、散点图、地图等多种图表
-
交互式:生成的图表支持缩放、悬停查看数据等交互功能
-
链式调用:支持流畅的链式调用语法
-
多种输出格式:可生成 HTML 文件、图片或嵌入 Jupyter Notebook
核心组件
1. 图表类
Chart
:所有图表类的基类
Line
:折线图
Bar
:柱状图/条形图
Pie
:饼图
Scatter
:散点图
EffectScatter
:带有涟漪特效的散点图
Radar
:雷达图
Map
:地图
Geo
:地理坐标图
Graph
:关系图
Boxplot
:箱线图
HeatMap
:热力图
Funnel
:漏斗图
Gauge
:仪表盘
Parallel
:平行坐标系图
Polar
:极坐标系图
2. 配置类
Option
:图表配置项
TooltipOpts
:提示框配置项
LegendOpts
:图例配置项
AxisOpts
:坐标轴配置项
VisualMapOpts
:视觉映射配置项
常用函数
图表初始化
from pyecharts.charts import Lineline = Line(init_opts=opts.InitOpts(width="800px", height="400px"))
数据添加
line.add_xaxis(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"])
line.add_yaxis("Sales", [120, 200, 150, 80, 70, 110, 130])
全局配置
line.set_global_opts(title_opts=opts.TitleOpts(title="Weekly Sales"),tooltip_opts=opts.TooltipOpts(trigger="axis"),xaxis_opts=opts.AxisOpts(name="Day"),yaxis_opts=opts.AxisOpts(name="Amount"),
)
系列配置
line.set_series_opts(label_opts=opts.LabelOpts(is_show=True),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), opts.MarkPointItem(type_="min")]),
)
渲染图表
line.render("line_chart.html") # 生成HTML文件
line.render_notebook() # 在Jupyter Notebook中显示
示例代码
from pyecharts.charts import Bar
from pyecharts import options as opts# 创建柱状图
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.add_yaxis("商家B", [15, 6, 45, 20, 35, 66])# 设置全局配置项
bar.set_global_opts(title_opts=opts.TitleOpts(title="商品销量对比"),tooltip_opts=opts.TooltipOpts(trigger="axis"),xaxis_opts=opts.AxisOpts(name="商品"),yaxis_opts=opts.AxisOpts(name="销量"),
)# 渲染图表
bar.render("bar_chart.html")
Pyecharts 提供了丰富的配置选项和图表类型,可以满足各种数据可视化需求,同时保持了简洁的 API 设计。