Python

您所在的位置:网站首页 python画图保存为tif Python

Python

2023-08-25 07:44| 来源: 网络整理| 查看: 265

pyecharts生成的网页图像如果直接截图,图片分辨率较低,不适合用于演示。因此可以考虑将其转换为jpg等格式使用。网上搜到的大部分采用pyecharts-snapshot方式来进行转换。通常的方法是:

(1)安装phantomjs (下载地址:http://phantomjs.org/download.html),这个版本相对固定,一般不需考虑版本问题。

(2)安装node.js (我的电脑上一直装有node.js,因此不确定该安装是否必须) https://nodejs.org/en/download/

(3)安装pyecharts-snapshot

pip install pyecharts-snapshot (4)使用snapshot进行转换

复制代码 from pyecharts import Line, Pie, Grid from pyecharts_snapshot.main import make_a_snapshot

attr = [“衬衫”, “羊毛衫”, “雪纺衫”, “裤子”, “高跟鞋”, “袜子”] v1 = [5, 20, 36, 10, 10, 100] v2 = [55, 60, 16, 20, 15, 80] line = Line(“折线图示例”) line.add(“商家A”, attr, v1, mark_point=[“average”]) line.add(“商家B”, attr, v2, is_smooth=True, mark_line=[“max”, “average”]) line.render(‘test.html’)

make_a_snapshot(‘test.html’, ‘test.pdf’) 复制代码 然而,不幸的是,我照搬这种方法,程序运行没有任何错误提示,但是出现两个警告信息:

RuntimeWarning: coroutine ‘make_a_snapshot’ was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback

然后,没有写任何文件!几经搜索,发现问题出在python版本上,据pyecharts (https://github.com/pyecharts)github社区中明确表示上述方法不支持python3.6 3.7等版本。可以使用snapshot-phantomjs替代。 (万恶的版本问题,不知道有多少初学者因为版本问题而从入门到放弃了。反正笔者当年安装keras、TensorFlow等各种版本切换,差点就疯了。不过坚持下来,会发现多解决一些问题,积累一些经验,在遇到技术问题,心里就没有刚开始那么紧张和无助了)。 下面我就直接安装。因为已经安装了phantomjs 和node.js了,所以不确定除了phantomjs,是否还需要node.js (1)还是先安装snapshot-phantomjs。

pip install snapshot-phantomjs 我是使用的清华镜像,所以pip install的速度还是飞快的。如果安装速度慢的,可以考虑使用国内镜像。 当然,高手也可以直接在GitHub上下载源文件(https://github.com/pyecharts/snapshot-phantomjs)。

(2)当然就是使用了。下面是使用的基本结构:

from snapshot_phantomjs import snapshot from pyecharts.render import make_snapshot

make_snapshot(snapshot,".html",".svg")#生成svg图片 至此,大功告成了。在snapshot.py文件中可以看到,它支持的文件格式有如下几种。

复制代码 PNG_FORMAT = “png” JPG_FORMAT = “jpeg” GIF_FORMAT = “gif” PDF_FORMAT = “pdf” SVG_FORMAT = “svg” EPS_FORMAT = “eps” B64_FORMAT = “base64” 复制代码 因此,在输出的文件后缀名中,要严格按照上面的几个字符串来写,不然会有错误提示。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3