在python altair中保存数字

时间:2017-04-24 16:17:00

标签: python node.js visualization altair

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

  • 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'

知道如何调试吗?

2 个答案:

答案 0 :(得分:2)

Edit,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 :(得分:0)

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

  1. 下载并安装最新的开发模式altair。
  2. 安装vega-lite存储库: npm install vega-lite vl2pngvega-lite相同,而不是我理解的画布。
  3. 问题已经提出here