导出 HTML 以供离线使用(Pyecharts、Python)

问题描述 投票:0回答:3

假设我正在尝试导出下面的图表:

from pyecharts.charts import Bar
from pyecharts import options as opts

def create_bar_chart():
    x_data = ["A", "B", "C", "D", "E"]
    y_data = [10, 20, 30, 40, 50]
    bar = (
        Bar()
        .add_xaxis(x_data)
        .add_yaxis("Series A", y_data)
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar Chart Example"))
    )

    return bar

问题是我无法导出文件以供离线使用(没有互联网连接)。请提供一些建议。谢谢

python html dashboard interactive
3个回答
1
投票

您可以将其另存为 html,如下所示:

chart = create_bar_chart()
chart.render("bar_chart.html")

这将创建一个本地 HTML 文件

bar_chart.html
,它将显示您的图表。但是,由于这依赖于外部(在线)javascript,因此如果您在使用浏览器打开此 HTML 文件时没有互联网,则它不会按预期显示。

如果您查看生成的 HTML 文件,您会在标头中看到它加载到以下 javascript 文件中:

<script type="text/javascript" 
  src="https://assets.pyecharts.org/assets/v5/echarts.min.js">
</script>

在紧要关头,如果您需要完全离线的版本,您可以下载此 JavaScript 并将其存储在本地,例如您计算机上的某个位置

local/path/to/echarts.min.js
。然后只需编辑 HTML 将上面的代码片段替换为以下内容:

<script type="text/javascript" 
  src="local/path/to/echarts.min.js">
</script>

(另请考虑,作为下载 JS 文件的替代方案:使用 service worker 缓存它)


0
投票

尝试使用 render 函数 (https://pyecharts.org/#/en-us/render_images) 并添加

.html
作为扩展名。


0
投票

可以先下载js,重写pyecharts的全局配置:

import pyecharts
pyecharts.globals.CurrentConfig.ONLINE_HOST = "path/to/local/echart.min.js"

或者你可以直接修改源代码,即第三个包目录中

DEFAULT_HOST
处的类
_OnlineHost
中的变量
pyecharts/globals.py
。但不建议这样做。

© www.soinside.com 2019 - 2024. All rights reserved.