【问题标题】:Altair Offline RenderingAltair 离线渲染
【发布时间】:2020-07-26 14:08:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: python-3.x altair


    【解决方案1】:

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

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

    例如:

    import altair_saver
    chart = alt.Chart(df).mark_point() #...
    
    altair_saver.save(chart, 'chart.html', inline=True)
    

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

    【讨论】:

    • 感谢杰克的分享。我就是这样做的,遇到了“UnicodeEncodeError: 'charmap' codec can't encode character '\u2265' in position 247633: character maps to ” 这个问题有解决方法吗?
    • 如果您可以创建一个重现错误的最小示例,请在 altair_saver 存储库中打开一个错误并将其包含在内。
    • 谢谢杰克。 altair_saver 存储库中已经提出了一个现有示例:github.com/altair-viz/altair_saver/issues/24
    猜你喜欢
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多