Altair 离线渲染

Altair Offline Rendering

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

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

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

交互式 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)

生成的文件可以在启用 javascript 的网络浏览器中查看,即使没有互联网连接也应该可以工作。