更改Altair中的小平面标题位置?

时间:2018-09-17 04:56:04

标签: python altair

如何将构面标题(在本例中为年份)移动到每个图的上方?默认值似乎在图表的侧面。可以轻松更改吗?

AAD

problematic plot

2 个答案:

答案 0 :(得分:1)

一种解决方案是删除行规范,并将构面设置为只有一列

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)

enter image description here

答案 1 :(得分:1)

对此的一般解决方案是使用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'))
)

heatmap with two years of data and labels on top