- Цель: раскрасить область над линией с помощью mark_area.
- Проблема: область появляется ниже линии. Любые изменения, которые я вношу в канал Y2 (с точки зрения использования alt.Y2Value или alt.value), не имеют никакого эффекта.
- Контекст: я знаю, что могу использовать датум, но это заставляет меня вычислять минимальные и максимальные диапазоны отображения диаграммы, что добавляет немного сложности при изменении масштабов (логарифмический или линейный, приятный=True/False, ноль=True/False). Я действительно хочу просто дать ссылки на пиксели.

import altair as alt
import polars as pl
import numpy as np
data = pl.DataFrame({
"x": np.arange(1, 4),
"y": np.arange(1, 4),
})
line = (
alt.Chart(data)
.mark_line()
.encode(
alt.X("x"),
alt.Y("y"),
)
)
area_above = alt.Chart(data).mark_area(color="black", opacity=0.2).encode(
alt.X("x"),
alt.Y("y"),
alt.Y2Value("height"),
# alt.Y2Value(0), # does not work either
# y2=alt.value("height"), # does not work either
)
line + area_above
Подробнее здесь: https://stackoverflow.com/questions/798 ... -alt-value