更改 Altair 中的分面标题位置?
Change facet title position in 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',
)
一种解决方案是删除行规范并将分面设置为具有单列
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)
一个通用的解决方案是使用 header
参数的 labelOrient
选项:
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'))
)
如何将分面标题(在本例中为年份)移动到每个图上方?默认值似乎在图表的一侧。这可以轻易改变吗?
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',
)
一种解决方案是删除行规范并将分面设置为具有单列
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)
一个通用的解决方案是使用 header
参数的 labelOrient
选项:
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'))
)