Altair 离线渲染

cyn*_*neo 4 python-3.x altair

如何创建可与互联网连接有限的其他人共享的交互式图表?

我的情况是这样的,我可以生成并查看我想要的交互式图表,但由于 VPN 限制,我的同事无法打开我生成的 html 图表。从下面的错误消息来看,它们似乎由于无法连接到网络而无法渲染。

(加载脚本时出错 https://cdn.jsdelivr.net/npm//vega@5 noext)

jak*_*vdp 5

交互式 Altair/Vega-Lite 图表需要多个 javascript 库来呈现图表;在大多数情况下,这些库是从外部 CDN 加载的,因此如果没有互联网连接,图表将无法查看。

您可以使用altair_saver包来解决这个问题,该包能够以“内联”模式保存 HTML 图表,其中所需的 javascript 库直接嵌入到图表输出中。

例如:

import altair_saver
chart = alt.Chart(df).mark_point() #...

altair_saver.save(chart, 'chart.html', inline=True)
Run Code Online (Sandbox Code Playgroud)

生成的文件可以在支持 JavaScript 的 Web 浏览器中查看,并且即使没有互联网连接也应该可以工作。