#python #image #facet #altair
#python #изображение #фасет #altair
Вопрос:
Как разделить диаграмму фасетов Altair .facet на отдельные изображения с возможностью сохранения каждого из них.
можно ли сохранять отдельные изображения при использовании .facet?
приведен базовый пример диаграммы фасетов с возможностью сохранения изображения для всей группы.
(Скриншот из https://altair-viz.github.io/user_guide/compound_charts.html#faceted-charts )
Ответ №1:
Вы можете сохранять только полные диаграммы; нет механизма для индивидуального сохранения подпанелей одной диаграммы.
В качестве обходного пути вы можете воссоздать эти подпанели в виде отдельных диаграмм. Вот один из возможных подходов с использованием условной непрозрачности:
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()
Комментарии:
1. спасибо за ответ, мой пример, возможно, был слишком простым. Я создал контрольные диаграммы с верхними, нижними пределами и правилами для сигналов. т.е. пробег 7 ниже среднего. Затем я собрал все это вместе в шаблон chart и .facet, чтобы дублировать диаграмму для каждого отдела. Будет ли этот подход работать для разбиения диаграмм обратно?
2. Да, некоторая адаптация этого подхода должна подходить даже для более сложных диаграмм.