pyecharts 利用page把四个图画在一张页面上
时间: 2023-06-05 09:06:14 浏览: 543
可以使用 pyecharts 中的 Grid 组件来实现。具体步骤如下:
1. 导入必要的库和数据
```python
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar, Line, Grid, Page
# 数据
df = pd.DataFrame()
# 省略读取数据的代码
```
2. 绘制四个图表
```python
# 柱状图
bar = (
Bar()
.add_xaxis(df["date"].tolist())
.add_yaxis("销售额", df["sales"].tolist())
.set_global_opts(title_opts=opts.TitleOpts("销售额"))
)
# 折线图
line = (
Line()
.add_xaxis(df["date"].tolist())
.add_yaxis("订单数", df["orders"].tolist())
.set_global_opts(title_opts=opts.TitleOpts("订单数"))
)
# 饼图
pie = (
Pie()
.add("省份", [list(z) for z in zip(df["province"].tolist(), df["sales"].tolist())])
.set_global_opts(title_opts=opts.TitleOpts("各省销售额占比"))
)
# 散点图
scatter = (
Scatter()
.add_xaxis(df["date"].tolist())
.add_yaxis("退货率", df["return_rate"].tolist())
.set_global_opts(title_opts=opts.TitleOpts("退货率"))
)
```
3. 将四个图表组成一个 Grid 页面
```python
grid = (
Grid()
.add(bar, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%"))
.add(line, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%"))
.add(pie, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%"))
.add(scatter, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%"))
)
```
4. 将 Grid 页面添加到 Page 页面中
```python
page = Page()
page.add(grid)
page.render("four_charts_in_one_page.html")
```
执行以上代码,即可得到一个包含四个图表的页面。
阅读全文