Нормализованные параллельные координаты
Диаграмма параллельных координат показывает каждую точку данных отдельной линией. Для её создания в Altair сначала преобразуйте данные в подходящее представление.
В этом примере используется набор Penguins. По оси y показано значение после нормализации по минимуму и максимуму, а не исходное значение. Это упрощённый вариант диаграммы Vega-Lite.
import altair as alt
from altair.datasets import data
from altair import datum
source = data.penguins()
alt.Chart(source).transform_window(
index='count()'
).transform_fold(
['Beak Length (mm)', 'Beak Depth (mm)', 'Flipper Length (mm)']
).transform_joinaggregate(
min='min(value)',
max='max(value)',
groupby=['key']
).transform_calculate(
minmax_value=(datum.value-datum.min)/(datum.max-datum.min),
mid=(datum.min+datum.max)/2
).mark_line().encode(
x='key:N',
y='minmax_value:Q',
color='Species:N',
detail='index:N',
opacity=alt.value(0.5)
).properties(width=500)
import altair as alt
from altair.datasets import data
from altair import datum
source = data.penguins()
alt.Chart(source).transform_window(
index='count()'
).transform_fold(
['Beak Length (mm)', 'Beak Depth (mm)', 'Flipper Length (mm)']
).transform_joinaggregate(
min='min(value)',
max='max(value)',
groupby=['key']
).transform_calculate(
minmax_value=(datum.value-datum.min)/(datum.max-datum.min),
mid=(datum.min+datum.max)/2
).mark_line().encode(
x='key:N',
y='minmax_value:Q',
color='Species:N',
detail='index:N',
opacity=alt.value(0.5)
).properties(width=500)
Подробнее в связанных разделах документации: