首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用phantomjs将pyecharts生成的html渲染为png

使用phantomjs将pyecharts生成的html渲染为png

作者头像
一夕如环
发布于 2022-03-23 07:45:48
发布于 2022-03-23 07:45:48
3K00
代码可运行
举报
运行总次数:0
代码可运行

以前用pyecharts对每日数据可视化,无奈邮件没法发送包含js的网页,这可累坏我了。考虑了几个小时,最后决定把echarts生成的HTML文件渲染成图片在给邮件发送给各位领导。

echarts的官网有实现方法,比较简单。

snapshot-phantomjs

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ pip install snapshot-phantomjs

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

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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")

从此,我过上了高枕无忧的生活……

不过,好景不长。过了一段高枕无忧的生活之后,日报就不发了。不过我依然我行我素,完全不考虑各位领导的感受。(其实是没时间)
最近,我有条件了,开始排查……发现这次日报的报错,我根本无从下手。不管是咨询资深的聪兄,还是资浅的辉明。我都是一筹莫展。作为一名资深的搬运工,我最擅长的是换过几种渲染的方式,和几台linux服务器,几个版本的Python,而不是从源码里面追诉问题。不过,意料之中,报错始终如一。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Traceback (most recent call last):
  File "/root/snapshot-phantomjs_test.py", line 19, in <module>
    make_snapshot(snapshot, bar_chart().render(), "bar0.png")
  File "/usr/local/lib/python3.9/site-packages/pyecharts/render/snapshot.py", line 45, in make_snapshot
    raise OSError(content_array)
OSError: ["ReferenceError: Can't find variable: echarts\n\n  file:////root/render.html:12 in global code\nReferenceError: Can't find variable: echarts\n\n  undefined:1\nnull\n"]

在顶着来自各级领导的层层压力之下,我只能出绝招。百度一下。果然,全球人民还是一条心的,难得有几个遇到这个问题的人,都是说把 echarts.min.js 下载在本地,改代码的引用方式就可以了。不过因为这个鬼东西

https://assets.pyecharts.org/assets/echarts.min.js

我确实能访问到,大家都可以,不限种族肤色。可是当我相信的时候,下载下来,改了路径。我想要的图片就呼啦啦的出来了。此时,热泪盈眶~

wget https://assets.pyecharts.org/assets/echarts.min.js

下载到root的家目录,/root定义一下,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file_path = "{}/".format(os.path.dirname(os.path.abspath("/root/echarts.min.js")))

再定义函数的调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Bar(init_opts=opts.InitOpts(js_host=file_path))

电脑忽传图片成,初闻涕泪满衣裳。 却看时间早下班,慢关电脑喜欲狂。 白日放歌须纵酒,所以只能到晚上。 即从步行等公交,便下凌塘向饭堂。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用 Flask 动态展示 Pyecharts 图表数据的几种方法
本文将介绍如何在 web 框架 Flask 中使用可视化工具 pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法。
Python编程与实战
2019/12/04
7.6K0
pyecharts︱交互式pyecharts的相关使用教程
pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。以下是最新版echart的靓图。当然,pyecharts貌似没有这么齐全。
悟乙己
2022/05/09
3.3K0
pyecharts︱交互式pyecharts的相关使用教程
实战 | 如何用 Python 统计 Jira 数据并可视化
目前公司使用 Jira 作为项目管理工具,在每一次迭代完成后的复盘会上,我们都需要针对本次迭代的 Bug 进行数据统计,以帮助管理层能更直观的了解研发的代码质量
AirPython
2022/09/28
1.1K0
Python可视化神器1-Pyecharts绘图详细教程-初识Pyecharts
示例位于 https://gallery.pyecharts.org/#/README
北京-宏哥
2024/01/24
7K1
Pyecharts水球图深度探索与创意应用
在数据可视化领域,Pyecharts是一个强大而灵活的工具,它能够以美观的方式呈现各种图表,其中之一就是炫酷水球图。水球图能够生动地展示数据的比例关系,给用户一种直观的感受。本文将深入介绍Pyecharts中绘制多种炫酷水球图的参数说明和代码实战,帮助读者更好地利用这一功能进行数据可视化。
一键难忘
2024/02/02
3430
关于pyecharts可视化与Flask相结合
关于pyecharts和flask结合的案例不多,查阅了数十篇文章,尝试了若干遍,感觉还是不理想,最大的问题在于对echarts的理解上,对我而言,又需要向上推到ajax,jquery,bootstrap,html,css,javascript等等,有点超出了我的技能范围,所以最大程度的做到能用就够了,复用和进一步优化看起来还是遥遥无期。
python与大数据分析
2022/03/11
1.5K0
关于pyecharts可视化与Flask相结合
pyecharts极简入门教程
数据可视化是整个数据分析流程中的关键环节,甚至有着一图定成败的关键性地位。前期,陆续推出了matplotlib和seaborn详细入门教程,对于常规的数据探索和基本图表制作是足够的,但二者的一个共同短板是图表不可交互,缺少那种活灵灵的样子!当Python遇到百度echarts,pyecharts便应用而生,最重要的是支持交互、且可移植到PPT报告中,这效果简直是再理想不过的。
luanhz
2020/08/04
1.5K0
pyecharts极简入门教程
实用技巧 | Pyecharts可视化渲染为图片保存
使用 pyecharts 渲染成图片一直是开发者比较关心的功能,pyecharts提供了 selenium、phantomjs 和 pyppeteer 三种方式。
叶庭云
2022/05/09
1.8K0
实用技巧 | Pyecharts可视化渲染为图片保存
推荐一款Python数据可视化神器
在日常工作中,为了更直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,人们常常借助可视化帮助我们更好的给他人解释现象,做到一图胜千文的说明效果。
测试开发技术
2020/05/11
1.4K0
推荐一款Python数据可视化神器
利用 Django 动态展示 Pyecharts 图表数据的几种方法
本文将介绍如何在 web 框架 Django 中使用可视化工具 Pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法!
Python编程与实战
2020/11/16
5.8K0
利用 Django 动态展示 Pyecharts 图表数据的几种方法
Pyecharts新版本食用指南
代码风格完全不同,在 V1 版本中,一切皆Options。配置项种类更多,可操作性更强,可以画出更加丰富的图表。
老肥码码码
2020/01/17
2.4K0
Pyecharts新版本食用指南
Pyecharts入门
Apache ECharts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了;PyEcharts是Echarts的Python接口, Pyecharts = Python + Echarts
@小森
2024/06/28
3530
Pyecharts入门
用 Python 分析微信群聊记录,是怎样一种体验?
前几天,有一位小伙伴在后台给我留言,说自己有几十个微信群,自己精力有限,没法看过来,想要筛选一些高质量的群,让我是否能帮忙想想办法。
AirPython
2020/04/18
1.9K0
26张图,带你全面盘点2021微博热搜!
2021是最好的一年,也是很差的一年,时光如白驹过隙,匆匆溜走,还有多少热点,在你的记忆里!
周萝卜
2022/02/10
2.4K0
26张图,带你全面盘点2021微博热搜!
【Python】pyecharts 模块 ⑤ ( 地图绘制 | pyecharts 地图绘制步骤 | 为地图进行全局配置 )
首先 , 导入 pyecharts 中的 Map 类 , 这是 地图绘制 的核心类 , 该类定义在 pyecharts.charts 中 ;
韩曙亮
2023/10/11
1.7K0
【Python】pyecharts 模块 ⑤ ( 地图绘制 | pyecharts 地图绘制步骤 | 为地图进行全局配置 )
pyecharts基本使用-上篇
在日常工作中经常会跟一些数据打交道,比如bug归因分析、自动化测试数据、性能测试数据等等.如果是table表格展示数据不能更好的提供给我们优化分析的思路,往往我们都是会用图表的形式展示数据更直观,比如折线图、饼图、柱状图等等.
测试加
2022/03/24
1.9K0
pyecharts基本使用-上篇
数学建模番外篇9:Pyecharts绘图整理
Echarts是百度开源的比较强大的绘图工具,但其是用Js来操控的,使用案例大全: https://echarts.apache.org/examples/zh/index.html#chart-type-custom 有人在此基础上进行二次开发,衍生出pycharts,本篇将记录一些pyecharts中的一些个人认为比较精彩的图表。 pyecharts中文文档:https://pyecharts.org/#/zh-cn/intro pyecharts案例大全:https://gallery.pyecharts.org/#/Bar/stack_bar_percent 下面的图表截取了左侧目录项,查阅时只需修改案例大全最后一段url。
zstar
2022/06/14
7120
数学建模番外篇9:Pyecharts绘图整理
大赞Pyecharts,教你做动态可视化!
前言基本使用链式调用单独调用全局配置系列配置基本图表饼图折线图漏斗图热力图日历图地理图地理热点图3D散点图其他特性xy轴翻转组合图表主题设置时间轴可视化分享航线图?气泡效果散点图 前言 pyechar
1480
2020/04/08
2.4K0
大赞Pyecharts,教你做动态可视化!
pyecharts 安装及使用指南
Charts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,多维数据可视化的平行坐标,还有用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭。
py3study
2020/11/12
2.7K0
pyecharts 安装及使用指南
【Python】pyecharts 模块 ③ ( 使用 pyecharts 模块绘制折线图 )
首先 , 导入 折线图 Line 对象 , 该类定义在 pyecharts.charts 中 ;
韩曙亮
2023/10/11
8680
【Python】pyecharts 模块 ③ ( 使用 pyecharts 模块绘制折线图 )
相关推荐
利用 Flask 动态展示 Pyecharts 图表数据的几种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档