Skip to content

pyecharts/snapshot-pyppeteer

Repository files navigation

snapshot-pyppeteer

Render pyecharts as image via pyppeteer

Author

Travis Build Status Appveyor Build Status Codecov PyPI version PyPI - Python Version

PyPI - Format Contributions welcome License

🔰 安装

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)

#%%

☁️ 扩展参数

  • pyechartsmake_snapshot 中允许传递 kwargs 类型的参数:
参数名称 参数类型 参数默认值 参数说明
notebook bool False 判断渲染环境是否处于 notebook
remoteAddress str 空字符串 用于 docker browserless 的地址配置

🚀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

📃 License

MIT ©sunhailin-Leo