Altair facet 图表保存单个图像

Altair facet charts save individual image

如何将 Altair .facet 图表拆分为单独的图像并选择保存每个图像。

使用 .facet 时是否可以保存单个图像?

提供了带有整个组图像保存选项的 .facet 图表的基本示例。

(来自 https://altair-viz.github.io/user_guide/compound_charts.html#faceted-charts 的屏幕截图)

您只能保存完整图表;没有单独保存单个图表的子面板的机制。

作为解决方法,您可以将这些子面板重新创建为单个图表。这是使用条件不透明度的一种可能方法:

import altair as alt
from vega_datasets import data
iris = data.iris()

chart = alt.Chart(iris).mark_point().encode(
    x='petalLength:Q',
    y='petalWidth:Q',
    color='species:N'
).properties(
    width=160,
    height=160
)

for species in ['setosa', 'versicolor', 'virginica']:
    chart.encode(
        opacity=alt.condition(
            f"datum.species == '{species}'", alt.value(1), alt.value(0)
        )
    ).display()