a11*_*a11 4 save jupyter-notebook altair
当我尝试在 Jupyter Notebook 中将图表保存为 PNG 时,使用 Altair saver 时不断出现错误。ValueError: Unsupported format: 'png'
我从这里知道我需要设置渲染器启用,从这里知道自述文件中有一个拼写错误,所以我在第五行代码中得到了正确的结果。
运行以下命令:
Windows 10
conda 4.8.2
Python 3.8.3
altair 4.1.0 py_1 conda-forge
altair_saver 0.1.0 py_0 conda-forge
vega 3.4.0 py38h32f6830_0 conda-forge
selenium 3.141.0 py38h9de7a3e_1001 conda-forge
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
Run Code Online (Sandbox Code Playgroud)
我也按照这里的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'
Run Code Online (Sandbox Code Playgroud)
任何寻找快速复制粘贴解决方案的人:
$ pip install altair_saver
$ npm install vega-lite vega-cli canvas
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7326 次 |
| 最近记录: |