假设我正在尝试导出下面的图表:
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
问题是我无法导出文件以供离线使用(没有互联网连接)。请提供一些建议。谢谢
您可以将其另存为 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 缓存它)
尝试使用 render 函数 (https://pyecharts.org/#/en-us/render_images) 并添加
.html
作为扩展名。
可以先下载js,重写pyecharts的全局配置:
import pyecharts
pyecharts.globals.CurrentConfig.ONLINE_HOST = "path/to/local/echart.min.js"
或者你可以直接修改源代码,即第三个包目录中
DEFAULT_HOST
处的类_OnlineHost
中的变量pyecharts/globals.py
。但不建议这样做。