在Python的Altair中保存图像

3
我正在尝试将Altair图形以HTML及其他格式(如PNG和SVG)保存下来。
  • HTML。在html中,图形无法显示,只是一个空白页面。

  • PNG。文档说我需要安装canvas包,并提供了在conda中安装的命令。但我没有安装conda,所以我使用npm install canvas在系统范围内全局安装。这导致出现了一堆与Altair相关的错误。即使解决了这些错误,我仍然遇到了以下问题:

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

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

你有何想法可以对此进行调试?


我有同样的问题。也许我们可以在Altair存储库上发布这个问题? - titipata
2个回答

2
< p > 编辑,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一起使用。


0

已经采取了一些步骤来尝试修复它。其中一些步骤如下:

  1. 下载并安装最新的开发模式altair。
  2. 安装vega-lite存储库: npm install vega-lite vl2png等与vega-lite一起提供,而不是像我理解的那样使用canvas。

该问题已在此处提出。


那么我们需要安装最新的“dev”分支吗? - titipata
有几个修复程序解决了这个问题,请查看 GitHub 链接。 - Dima Lituiev
谢谢Dima,我会详细查看这个问题! - titipata

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接