我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pyecharts可视化图片渲染的方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pyecharts可视化图片渲染的方法详解

使用 pyecharts 渲染成图片一直是开发者比较关心的功能,pyecharts提供了 selenium、phantomjs 和 pyppeteer 三种方式。

更多介绍可以学习官方文档:https://pyecharts.org/#/zh-cn/render_images

首先需要安装上snapshot-selenium

pip install snapshot-selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

测试代码如下:

from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
from pyecharts import options as opts
from pyecharts.charts import Sankey


sankey = Sankey(
    init_opts=opts.InitOpts(
        width='1000px',
        height='600px',
        bg_color='#fff'
    )
)
sankey.add(
    '',
    nodes,
    links,
    node_gap=0,
    node_width=80,
    pos_right='5%',
    node_align='justify',
    focus_node_adjacency=True,
    linestyle_opt=opts.LineStyleOpts(curve=0.5, opacity=0.2, color="source"),
    label_opts=opts.LabelOpts(position='inside', color='white'),
    itemstyle_opts=opts.ItemStyleOpts(border_color="#fff"),
)

print(":".join(["CSDN叶庭云", "https://yetingyun.blog.csdn.net/"]))
# sankey.render("./results/009.html")
make_snapshot(snapshot, sankey.render(), "Pyecharts生成图片.png")

关键代码:

from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot

# 渲染的html保存为png图片
make_snapshot(snapshot, sankey.render(), "Pyecharts生成图片.png")

结果如下:

补充

当然Pyecharts不仅能进行可视化图片渲染,还能进行图表的渲染,同样也是使用selenium, phantomjs 和 pyppeteer这三种方式

渲染图片依赖库

1.make_snapshot

make_snapshot 用于 pyecharts 直接生成图片。

from pyecharts.render import make_snapshot

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,
)

渲染方式

1.snapshot-selenium

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

# 安装
pip install snapshot-selenium

# 使用方式
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")

2.snapshot-phantomjs

snapshot-phantomjs 是 pyecharts + phantomjs 渲染图片的扩展,需要先安装 phantomjs。

# 安装
pip install snapshot-phantomjs

# 使用方式
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")

3.snapshot-pyppeteer

snapshot-pyppeteer 是 pyecharts + pyppeteer 渲染图片的扩展,需要先安装 pyppeteer 和 Chromium。

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

# 使用方式
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()

到此这篇关于Pyecharts可视化图片渲染的方法详解的文章就介绍到这了,更多相关Pyecharts可视化图片渲染内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pyecharts可视化图片渲染的方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python用pyecharts实现地图数据可视化的方法

这篇文章给大家分享的是有关python用pyecharts实现地图数据可视化的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有的时候,我们需要对不同国家或地区的某项指标进行比较,可简单通过直方图加以比较。但直
2023-06-14

iOS中图片的解压缩到渲染过程详解

前言 在移动app开发过程中,图片往往是不可或缺的资源。从磁盘上加载一张图片,到显示到屏幕上,中间经过了一些复杂的过程,其中非常重要的一步就是对图片的解压缩。下面来一起看看详细的介绍吧 一.图像从文件到屏幕过程通常计算机在显示是CPU与GP
2022-05-30

Pixi.js实现可视化图形编辑器的方法

本文主要介绍了Pixi.js实现可视化图形编辑器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-19

一行代码生成Tableau可视化图表的方法

本文主要介绍了一行代码生成Tableau可视化图表的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-14

Python实现在Excel中绘制可视化大屏的方法详解

今天小编来给大家分享如何在Excel文档当中来绘制可视化图表,并且制作一个可视化大屏。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-01-29

PHP实现PDF转图片的方法详解

这篇文章主要给大家介绍了关于PHP将PDF转图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-12-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录