Jupyter notebook Altair saver ValueError:不支持的格式:';巴布亚新几内亚';

Jupyter notebook Altair saver ValueError:不支持的格式:';巴布亚新几内亚';,jupyter-notebook,save,altair,Jupyter Notebook,Save,Altair,当我试图将图表保存到Jupyter笔记本中的PNG时,使用Altair saver时,我总是遇到一个错误值错误:不支持的格式:“png” 我知道我需要设置渲染器启用,并且自述文件中有一个输入错误,所以我在第5行代码中有正确的输入 运行以下命令: Windows 10 康达4.8.2 Python 3.8.3 牵牛星4.1.0 py_1康达锻造厂 altair_0.1.0 py_0康达锻造厂 织女星3.4.0 py38h32f6830_0康达锻造厂 硒3.141.0 py38h9de7a3e_10

当我试图将图表保存到Jupyter笔记本中的PNG时,使用Altair saver时,我总是遇到一个错误<代码>值错误:不支持的格式:“png”

我知道我需要设置渲染器启用,并且自述文件中有一个输入错误,所以我在第5行代码中有正确的输入

运行以下命令:
Windows 10
康达4.8.2
Python 3.8.3
牵牛星4.1.0 py_1康达锻造厂
altair_0.1.0 py_0康达锻造厂
织女星3.4.0 py38h32f6830_0康达锻造厂
硒3.141.0 py38h9de7a3e_1001康达锻造

import pandas as pd
import altair as alt
from altair_saver import save
alt.renderers.enable('default'); # if in jupyter, ; to suppress output
alt.renderers.enable('altair_saver', fmts=['vega-lite', 'png']);

mytaskbars = pd.DataFrame([
    {"task": "Task1a", "start": '2020-06-01', "end": '2020-09-30', "color": 'royalblue'},
    {"task": "Task1b", "start": '2020-06-01', "end": '2021-03-31', "color": 'deepskyblue'},
    {"task": "Task2", "start": '2020-06-01', "end": '2021-03-31', "color": 'red'},
    ])
    
mytaskbars["start"] = pd.to_datetime(mytaskbars["start"])
mytaskbars["end"] = pd.to_datetime(mytaskbars["end"])
    
    
chart = alt.Chart(mytaskbars).mark_bar(opacity=0.7).encode(
    x=alt.X('start', axis=alt.Axis(title='Date', labelAngle=-45, format = ("%b %Y"))),
     x2 = 'end',
    y=alt.Y('task', axis=alt.Axis(title=None)),
    color = alt.Color('color:N', scale = None)
    )
    
save(chart, "chart_202006.png")
chart
我还尝试了
chart.save('chart_202006.png')
,如图所示,出现了相同的错误。我认为该错误与渲染器行有某种关联,即使稍后会抛出该错误

以下是评论中要求的完整回溯:

ValueError                                Traceback (most recent call last)
<ipython-input-3-13a284c2aca9> in <module>
     19     )
     20 
---> 21 save(chart, "chart_202006.png")
     22 chart

~\anaconda3\envs\geospat_env\lib\site-packages\altair_saver\_core.py in save(chart, fp, fmt, mode, method, **kwargs)
     60     """
     61     if method is None:
---> 62         Saver = _get_saver_for_format(fmt=fmt, fp=fp)
     63     elif isinstance(method, type):
     64         Saver = method

~\anaconda3\envs\geospat_env\lib\site-packages\altair_saver\_core.py in _get_saver_for_format(fmt, fp)
     28         if fmt in s.valid_formats and s.enabled():
     29             return s
---> 30     raise ValueError(f"Unsupported format: {fmt!r}")
     31 
     32 

ValueError: Unsupported format: 'png'
ValueError回溯(最近一次调用)
在里面
19     )
20
--->21保存(图表“chart_202006.png”)
22图表
保存中的~\anaconda3\envs\geospat\u env\lib\site packages\altair\u saver\\u core.py(图表、fp、fmt、模式、方法,**kwargs)
60     """
61如果方法为无:
--->62 Saver=\u获取\u Saver\u用于\u格式(fmt=fmt,fp=fp)
63 elif isinstance(方法、类型):
64=方法
~\anaconda3\envs\geospat\u env\lib\site packages\altair\u saver\u core.py格式(fmt、fp)
28如果fmt采用s.valid_格式且s.enabled():
29返回s
--->30 raise VALUERROR(f“不支持的格式:{fmt!r}”)
31
32
ValueError:不支持的格式:“png”

要将图表保存到PNG,您需要的不仅仅是软件包。您还需要selenium或节点依赖项,如altair_saver一节所述


按照这些说明安装所需的依赖项,它将解决您的错误。

命令
save()
与渲染器无关,因此该部分与渲染器无关。您可以包含整个错误回溯吗?@jakevdp添加了完整的回溯当通过conda forge“”安装altair_saver时,这些软件包会自动包括在内。并且安装了selenium,我编辑了这个问题以显示这一点。鉴于altair_saver在这里使用命令行实用程序,我怀疑它在Windows中无法正常工作。我建议在项目中提交一个bug。已打开的问题:让我开心!!!!