一、问题背景
通过pyecharts绘制的图像,我们尝尝保存在html文件中,以保持其原有的良好的交互性。但当我们在word或者ppt中使用时,保存为图片的形式,则是我们最想要的方式。针对此问题,通过查找相关实现方式,总结其渲染的html文件保存图片方式。
在 Python 中,模块pyecharts模块中存在make_snapshot函数,其作用是生成静态图像快照,能够将 pyecharts 生成的图表保存为图片文件。
二、实现代码
python
from pyecharts import options as opts
from pyecharts.charts import Gauge
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
import os
gauge = (
Gauge()
.add("", [("电量", 90)], split_number=5)
.set_global_opts(
title_opts=opts.TitleOpts(title="电池电量仪表图", subtitle="示例"),
legend_opts=opts.LegendOpts(is_show=False),
)
.set_series_opts(
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(
color=[[0.2, "#c23531"], [0.8, "#63869e"], [1, "#91c7ae"]],
width=30,
)
),
splitline_opts=opts.SplitLineOpts(
is_show=True,
linestyle_opts=opts.LineStyleOpts(width=3, color="auto"),
),
)
)
#gauge.render("customized_gauge.html")
# 渲染图形为HTML文件
make_snapshot(snapshot, gauge.render(), "仪表盘.png")
# 判断文件是否存在,并打印文件路径
if os.path.isfile("仪表盘.png"):
print("图像保存成功,文件路径为:" + os.path.abspath("仪表盘.png"))
else:
print("图像保存失败")