line = ( Line() .add_xaxis(data['year'].tolist()) .add_yaxis("电影评分", data['rating'].tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="电影评分趋势图"), tooltip_opts=opts.TooltipOpts(trigger="axis"), xaxis_opts=opts.AxisOpts(type_="category"), yaxis_opts=opts.AxisOpts(type_="value"), ) ) line.render_notebook()为代码添加区域缩放
时间: 2023-06-25 13:03:46 浏览: 114
你可以在 `set_global_opts()` 方法中添加 `datazoom_opts` 参数来实现区域缩放,示例代码如下:
```python
line = (
Line()
.add_xaxis(data['year'].tolist())
.add_yaxis("电影评分", data['rating'].tolist())
.set_global_opts(
title_opts=opts.TitleOpts(title="电影评分趋势图"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
xaxis_opts=opts.AxisOpts(type_="category"),
yaxis_opts=opts.AxisOpts(type_="value"),
datazoom_opts=[opts.DataZoomOpts()], # 添加区域缩放
)
)
line.render_notebook()
```
这样就会在图表下方添加一个区域缩放的滑动条,可以拖动滑动条来缩放图表区域。你也可以通过修改 `datazoom_opts` 参数来调整区域缩放的样式和行为。
相关问题
优化代码以X轴的区域进行缩放显示line = ( Line() .add_xaxis(data['year'].tolist()) .add_yaxis("电影评分", data['rating'].tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="电影评分趋势图"), tooltip_opts=opts.TooltipOpts(trigger="axis"), xaxis_opts=opts.AxisOpts(type_="category"), yaxis_opts=opts.AxisOpts(type_="value"), ) ) line.render_notebook()
可以考虑以下优化方式:
1. 将data中的数据转换为numpy数组,可以提高绘图速度。
2. 为了让X轴坐标轴标签不重叠,可以通过设置x轴标签旋转角度来解决。
3. 可以考虑添加数据标签,方便观察数据变化。
修改后的代码如下:
```python
import numpy as np
from pyecharts.charts import Line
from pyecharts import options as opts
# 将data中的数据转换为numpy数组
x_data = np.array(data['year'].tolist())
y_data = np.array(data['rating'].tolist())
line = (
Line()
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name="电影评分",
y_axis=y_data,
label_opts=opts.LabelOpts(is_show=True, position="top"), # 添加数据标签
)
.set_global_opts(
title_opts=opts.TitleOpts(title="电影评分趋势图"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
xaxis_opts=opts.AxisOpts(type_="category", axislabel_opts=opts.LabelOpts(rotate=-45)), # 设置x轴标签旋转角度
yaxis_opts=opts.AxisOpts(type_="value"),
)
)
line.render_notebook()
```
# 绘制折线图 line = ( Line() .add_xaxis(data['year'].tolist()) .add_yaxis("电影评分", data['rating'].tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="电影评分趋势图"), tooltip_opts=opts.TooltipOpts(trigger="axis"), xaxis_opts=opts.AxisOpts(type_="category"), yaxis_opts=opts.AxisOpts(type_="value"), ) .render("rating_trend.html") ) 将其在notebook中显示
可以使用 `NotebookDisplay` 函数将生成的 HTML 文件嵌入到 Jupyter Notebook 中展示,具体代码如下:
```python
from pyecharts.render import NotebookRender
from pyecharts.charts import Line
from pyecharts import options as opts
notebook_render = NotebookRender()
Line().add_xaxis(data['year'].tolist()).add_yaxis("电影评分", data['rating'].tolist()).set_global_opts(
title_opts=opts.TitleOpts(title="电影评分趋势图"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
xaxis_opts=opts.AxisOpts(type_="category"),
yaxis_opts=opts.AxisOpts(type_="value"),
).render_notebook(notebook_render)
notebook_render.show()
```
运行上述代码后,就可以在 Jupyter Notebook 中看到电影评分趋势图的折线图了。
阅读全文