首页 > 解决方案 > 将标题移动到分组条形图的子图底部的推荐方法

问题描述

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

在此处输入图像描述

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

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

如果我从这个 VL 示例工作,我可以使用“labelPadding”将标题向下移动,但想知道是否有更好的方法可以在没有硬编码值的情况下完成此操作(我尝试了标题文档中的其他选项,但是似乎标题真的更喜欢在子图之上,除非我错过了一些东西):

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

标签: altairvega-lite

解决方案


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

修改您链接到的分组条形图示例,它可能如下所示:

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'))
)

在此处输入图像描述


推荐阅读