JS-对象

使用模板来实现页面

  返回  

pyecharts渲染图片

2021/8/21 11:45:50 浏览:

文章目录

        • make_snapshot
          • 引入
          • API
        • snapshot-selenium
          • 安装
          • 使用
        • snapshot-phantomjs
          • 安装
          • 使用
        • snapshot-pyppeteer
          • 安装
          • 使用
          • 图片

pyecharts 提供了 selenium, phantomjspyppeteer 三种方式渲染图片。

make_snapshot

make_snapshot 用于 pyecharts 直接生成图片

引入
from pyecharts.render import make_snapshot
API
def make_snapshot(
    # 渲染引擎,可选 selenium 或者 phantomjs
    engine: Any,

    # 传入 HTML 文件路径
    file_name: str,

    # 输出图片路径
    output_name: str,

    # 延迟时间,避免图还没渲染完成就生成了图片,造成图片不完整
    delay: float = 2,

    # 像素比例,用于调节图片质量
    pixel_ratio: int = 2,

    # 渲染完图片是否删除原 HTML 文件
    is_remove_html: bool = False,

    # 浏览器类型,目前仅支持 Chrome, Safari,使用 snapshot-selenium 时有效
    browser: str = "Chrome",
    **kwargs,
)

snapshot-selenium

安装
pip install snapshot-selenium

snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展,使用 selenium 需要配置 browser driver,这部分可以参考 selenium-python 相关介绍,推荐使用 Chrome 浏览器,可以开启 headless 模式。目前支持 Chrome, Safari。

使用
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot

from snapshot_selenium import snapshot

def bar_chart() -> Bar:
    c = (
        Bar()
        .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
        .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
        .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
        .reversal_axis()
        .set_series_opts(label_opts=opts.LabelOpts(position="right"))
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片"))
    )
    return c

make_snapshot(snapshot, bar_chart().render(), "bar0.png")

snapshot-phantomjs

安装
pip install snapshot-phantomjs

snapshot-phantomjs 是 pyecharts + phantomjs 渲染图片的扩展,需要先安装 phantomjs,安装方法请参照官网 phantomjs.org/download.html

使用
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot

from snapshot_phantomjs import snapshot

def bar_chart() -> Bar:
    c = (
        Bar()
        .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
        .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
        .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
        .reversal_axis()
        .set_series_opts(label_opts=opts.LabelOpts(position="right"))
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片"))
    )
    return c

make_snapshot(snapshot, bar_chart().render(), "bar0.png")

snapshot-pyppeteer

安装
pip install snapshot-pyppeteer

# 安装完后建议执行 chromium 安装命令
pyppeteer-install

snapshot-pyppeteer是 pyecharts + pyppeteer 渲染图片的扩展,需要先安装 pyppeteer 和 Chromium 安装方法请参照仓库地址 snapshot-pyppeteer

使用
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()
图片

在这里插入图片描述

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号