Код: Выделить всё
import altair as alt
from vega_datasets import data
source = data.movies()
alt.Chart(source).mark_bar().encode(
alt.X("IMDB_Rating:Q").bin(maxbins=20).scale(domain=[1, 10]),
alt.Y('count()'),
alt.Color(
"IMDB_Rating:Q",
).bin(maxbins=20).scale(scheme='pinkyellowgreen')
)
Код: Выделить всё
alt.Chart(source).mark_bar().encode(
alt.X("IMDB_Rating:Q").bin(maxbins=20).scale(domain=[1, 10]),
alt.Y('count()'),
alt.Color(
"IMDB_Rating:Q",
legend=alt.Legend(
values=[1, 2, 3, 4, 5, 6, 7, 8, 9 , 10],
labelExpr="datum.value"
),
).bin(maxbins=20).scale(scheme='pinkyellowgreen')
)

Устранение перекрытия с заголовком легенды. Я бы хотел, чтобы 1 и 10 были «посередине» выровнены по границе их контейнера, как и все остальные метки. Добавление labelBaseline="middle" не имеет никакого эффекта. Кажется, метки вынуждены оставаться в пределах высоты полосы градиента.
Та же проблема может возникнуть и с метками других делений оси, где метка вынуждена оставаться в пределах оси, а не центрироваться на своей метке.
Подробнее здесь: https://stackoverflow.com/questions/798 ... max-values
Мобильная версия