Изменить положение заголовка фасета в Altair?

Как я могу переместить заголовки фасетов (в данном случае, год) выше каждого графика? По умолчанию, кажется, на стороне графика. Можно ли это легко изменить?

import altair as alt
from vega_datasets import data

df = data.seattle_weather()

alt.Chart(df).mark_rect().encode(
    alt.Y('month(date):O', title='day'),
    alt.X('date(date):O', title='month'),
    color='temp_max:Q'
).facet(
    row='year(date):N',
)

проблемный сюжет

0 ответов

Общее решение для этого - использовать labelOrient вариант header параметр:

df = df[df.date.dt.year < 2014]  # make a smaller chart

alt.Chart(df).mark_rect().encode(
    alt.Y('month(date):O', title='day'),
    alt.X('date(date):O', title='month'),
    color='temp_max:Q'
).facet(
    row=alt.Row('year(date):N', header=alt.Header(labelOrient='top'))
)

https://i.stack.imgur.com/LmYxP.png

Одно из решений - удалить спецификацию строки и установить для фасета один столбец.

import altair as alt
from vega_datasets import data

df = data.seattle_weather()

alt.Chart(df).mark_rect().encode(
    alt.Y('month(date):O', title='day'),
    alt.X('date(date):O', title='month'),
    color='temp_max:Q'
).facet('year(date):N', columns=1)

Другие вопросы по тегам