在 Python Altair 中保存数字



我正在尝试以任何图形格式(png,svg)的html保存altair数字。

  • .HTML。不显示 html 中的图形。空白页

  • .PNG。文档说我需要canvas包,并提供了如何为 conda 安装它的命令。我没有康达。我正在使用npm install canvas系统范围安装它。这给出了一堆与 altair 本身相关的错误。修复它们,我仍然得到:

FileNotFoundError: [Errno 2] No such file or directory: 'vl2svg'

FileNotFoundError: [Errno 2] No such file or directory: 'vl2png'

知道如何调试吗?

> 编辑,2018 年 6 月:Altair 在 2.0 版本中完全更新了其图形保存机制,不再使用 npm/nodejs。有关详细信息,请参阅 https://altair-viz.github.io/user_guide/saving_charts.html

问题是 Altair 需要访问 npm 命令行工具才能保存 png/svg 输出。你需要确保 npm 安装的 vega-lite 工具在 Python 进程正在运行的环境中可用。Altair 本身无法控制这一点,而是尝试在最有可能的位置(PATH,后跟 npm 指定的二进制安装位置,如果可用)找到它们。

上述错误表明这些可执行文件在您启动 Python 进程的环境中不可用。您应该更新 PATH,以便可以访问命令行工具,然后启动 Python 并运行 Altair 代码。

最后,还有另一个复杂情况,它与此错误无关,但如果您修复它,您可能会遇到:Vega-Lite 正处于向后不兼容的 2.0 版本中,而 Altair 目前仅适用于 1.0。您需要确保安装与 Vega-Lite 1.0 关联的 npm 工具,以便与当前的 Altair 版本配合使用。希望到今年夏天,我们能够更新 Altair 以与 Vega-Lite 2.0 配合使用。

已经有许多步骤试图修复它。其中一些:

  1. 下载并安装最新的开发模式 altair。
  2. 安装vega-lite存储库:npm install vega-litevl2png和类似的东西都伴随着vega-lite,而不是我所理解的画布。

这里已经提出了这个问题。

最新更新