pyechart 折线图双轴缩放
时间: 2024-09-11 12:09:24 浏览: 69
pyecharts 是一个用于生成 Echarts 图表的 Python 库,Echarts 是百度开源的一个数据可视化库。在使用 pyecharts 生成折线图时,可以通过设置双轴来显示两个不同量纲的数据序列,这样可以在同一个图表中更直观地比较这两组数据。
在 pyecharts 中实现双轴缩放通常指的是在图表页面上通过滑动条(slider)或其他交互控件来控制时间轴的范围,从而影响图表上折线的显示区间。这一功能允许用户根据需要查看数据随时间变化的细节或趋势。
为了实现双轴缩放,需要使用 pyecharts 的某些功能模块,如 `Timeline` 来创建时间轴控制器,这样用户就可以通过滑动时间轴来查看数据随时间变化的情况。
以下是使用 pyecharts 实现折线图双轴缩放的一个基础示例代码:
```python
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.commons.utils import JsCode
# 创建折线图对象
line = Line()
# 添加第一个数据序列
line.add_xaxis(["A", "B", "C", "D", "E"])
line.add_yaxis(
series_name="series1",
y_axis=[10, 20, 30, 40, 50],
is_smooth=True,
yaxis_index=0, # 指定这个序列使用y轴索引为0
symbol_size=10,
)
# 添加第二个数据序列,这里我们让它使用另一个y轴
line.add_yaxis(
series_name="series2",
y_axis=[30, 40, 50, 60, 70],
is_smooth=True,
yaxis_index=1, # 指定这个序列使用y轴索引为1
label_opts=opts.LabelOpts(formatter=JsCode("function (params) {return params.value[1]}")),
)
# 设置全局配置项
line.set_global_opts(
xaxis_opts=opts.AxisOpts(),
yaxis_opts=[opts.AxisOpts(name='y1'), opts.AxisOpts(name='y2')],
)
# 设置双轴缩放控制器
line.use_theme([
opts.InitOpts(width="1600px", height="800px"),
opts.ToolboxFeatureOpts(is_datazoom_show=True),
opts.ToolboxFeatureOpts(is_datazoomSL_show=True),
])
# 渲染图表到HTML文件
line.render('line_chart_with_datazoom.html')
```
在这个示例中,我们创建了一个包含两个不同数据序列的折线图,并为它们指定了不同的y轴索引,以便它们能在图表上用不同的y轴显示。同时,我们通过 `use_theme` 方法添加了数据缩放控制器,允许用户对图表进行交互式的缩放操作。
阅读全文