pyecharts
pyecharts 是一个用于绘制 Echarts 图表的 Python 库。Echarts 是由百度开发的一个开源数据可视化库,支持各种图表类型,如柱状图、折线图、饼图等,并且提供了丰富的交互功能和精美的图形设计。
pyecharts 的主要优点包括:
- 简单易用:提供了简洁的 API 来创建和定制图表。
- 丰富的图表类型:支持 Echarts 所有的图表类型,能够满足各种数据可视化的需要。
- 交互性:生成的图表具有良好的交互性,用户可以在浏览器中对图表进行缩放、拖动等操作。
- 跨平台:生成的图表是基于 HTML 和 JavaScript 的,因此可以在任何支持现代 Web 浏览器的平台上查看。
实例代码
import pyecharts.options as opts # 导入pyecharts的options模块,用于设置图表选项
from pyecharts.charts import Bar, Line # 导入Bar和Line图表
# 数据准备
x_data = ["2014","2015","2016","2017","2018","2019","2020","2021", ]
bar = (
# 创建Bar图表实例
Bar()
# 添加X轴数据
.add_xaxis(xaxis_data=x_data)
# 添加Y轴数据(诊疗量)
.add_yaxis(
series_name="诊疗量",
y_axis=[87430,90912,96225,101885,107147,116390,105764,120215],
color = 'orange', #设置颜色
)
# 扩展Y轴,添加第二个Y轴
.extend_axis(
yaxis=opts.AxisOpts(
type_="value", #设置类型
min_=-20, #设置y轴刻度标签的范围
max_=20,
name = '诊疗量(同比增速(%)',
interval=10, #设置刻度间隔
)
)
# 设置全局选项,包括Y轴、标题和图例等
.set_global_opts(
yaxis_opts=opts.AxisOpts(
type_="value",
min_=0, #设置y轴刻度标签的范围
max_=150000, #设置类型
name = '诊疗量(万人次)',
interval=50000, #设置刻度间隔
),
title_opts=opts.TitleOpts(title="2014-2021年中国中医类医疗卫生机构诊疗量", pos_left="center", pos_top="top"),
legend_opts=opts.LegendOpts(pos_left='40%', pos_bottom='90%'),
)
)
line = (
# 创建Line图表实例
Line()
# 添加X轴数据
.add_xaxis(x_data)
# 添加Y轴数据(同比增速)
.add_yaxis(
"同比增速(%)",
[7.40, 4.00, 5.83, 5.81, 5.16, 8.63, -9.13, 13.66],
z=2, #图表显示层级
symbol='triangle', # 设置标记图形为三角形
symbol_size=20, # 设置标记图形大小
yaxis_index=1, # 设置Y轴索引为1(使用第二个Y轴)
color="Magenta", #设置颜色
label_opts=opts.LabelOpts(is_show=False) # 隐藏标签
)
)
bar.overlap(line) #将line图表渲染到bar图表
bar.render_notebook() #渲染bar图表到notebook
运行结果
pyecharts绘制图形的基本参数
Bar 参数
add_xaxis(xaxis_data):添加X轴数据。
add_yaxis(series_name, y_axis, color=None):添加Y轴数据,包括系列名称、数值列表以及颜色。
extend_axis(yaxis=opts.AxisOpts(...)):扩展Y轴,用于添加多个Y轴。
set_global_opts(title_opts=opts.TitleOpts(...), legend_opts=opts.LegendOpts(...), ...):设置全局选项,例如标题、图例、工具箱等。
其他可能用到的参数有:
mark_point 和 mark_line:用于标记点和线。
animation_opts:控制动画效果。
bar_category_gap:类别间的间距。
bar_width:柱子宽度。
label_opts:标签样式选项。
tooltip_opts:提示框样式选项。
Line 参数
add_xaxis(xaxis_data):添加X轴数据。
add_yaxis(series_name, y_axis, color=None):添加Y轴数据,包括系列名称、数值列表以及颜色。
extend_axis(yaxis=opts.AxisOpts(...)):扩展Y轴,用于添加多个Y轴。
set_global_opts(title_opts=opts.TitleOpts(...), legend_opts=opts.LegendOpts(...), ...):设置全局选项,例如标题、图例、工具箱等。
其他可能用到的参数有:
mark_point 和 mark_line:用于标记点和线。
symbol:折线上的标记图形。
symbol_size:标记图形大小。
yaxis_index:指定使用的Y轴索引。
label_opts:标签样式选项。
tooltip_opts:提示框样式选项。