Render pyecharts as image via pyppeteer
pip 安装
# 安装
$ pip install snapshot-pyppeteer
# 安装完后建议执行 chromium 安装命令
pyppeteer-install
- Pycharm 环境下
from snapshot_pyppeteer import snapshot
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.render import make_snapshot
def bar_base() -> Bar:
c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
)
make_snapshot(snapshot, c.render(), "bar.png")
if __name__ == '__main__':
bar_base()
- Notebook 环境下
#%%
from snapshot_pyppeteer import snapshot
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.render import make_snapshot
#%%
c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
)
make_snapshot(snapshot, c.render(), "bar.png", notebook=True)
#%%
- 在
pyecharts
的make_snapshot
中允许传递kwargs
类型的参数:
参数名称 | 参数类型 | 参数默认值 | 参数说明 |
---|---|---|---|
notebook | bool | False | 判断渲染环境是否处于 notebook |
remoteAddress | str | 空字符串 | 用于 docker browserless 的地址配置 |
- 文档:browserless 文档地址
- 使用步骤:
- 第一步:省略 docker 环境构建
- 第二步:拉取镜像 & 启动容器
$ docker pull browserless/chrome:latest $ docker run -d -p 3000:3000 --shm-size 2gb --name browserless --restart always -e "DEBUG=browserless/chrome" -e "MAX_CONCURRENT_SESSIONS=10" browserless/chrome:latest
- 第三步:渲染参数
remoteAddress
按此方式填入:ws://<容器服务的IP>:3000
MIT ©sunhailin-Leo