将标题移动到分组条形图的子图底部的推荐方法

时间:2020-10-14 15:53:34

标签: altair vega-lite

我正在尝试在VL / Altair中制作如下图表:

enter image description here

在此示例中,据我所知,X轴标签的功能类似于VL headers。在VL / Altair中,标头会自动设置到每个子图的顶部(例如this chart)。

在标题位于底部的情况下,创建这样的分组条形图的推荐方法是什么?

如果我从this VL example开始工作,我可以使用“ labelPadding”将标题向下移动到下面,但是想知道是否有更好的方法可以在没有硬编码值的情况下完成此操作(我尝试了其他方法来自标头文档,但似乎标头确实更喜欢在子图上方,除非我错过了什么):

"column": {"type": "nominal", "field": "site", "header": {"labelPadding": -320}}

1 个答案:

答案 0 :(得分:0)

您可以使用列标题的labelOrienttitleOrient属性来设置标题标题和标签的位置。

修改您链接的grouped bar chart example,看起来可能像这样:

import altair as alt
from vega_datasets import data

source = data.barley()

alt.Chart(source).mark_bar().encode(
    x=alt.X('year:O',
        axis=alt.Axis(title=None, labels=False)),
    y='sum(yield):Q',
    color='year:N',
    column=alt.Column('site:N',
        header=alt.Header(titleOrient='bottom', labelOrient='bottom'))
)

enter image description here