altair - 将标题移动到分组条形图的子图底部的推荐方法
问题描述
我正在尝试在 VL/Altair 中制作如下图表:
在此示例中,据我所知,X 轴标签的功能类似于 VL标头。在 VL/Altair 中,标题自动设置在每个子图的顶部(例如,此图表)。
创建这样的标题位于底部的分组条形图的推荐方法是什么?
如果我从这个 VL 示例工作,我可以使用“labelPadding”将标题向下移动,但想知道是否有更好的方法可以在没有硬编码值的情况下完成此操作(我尝试了标题文档中的其他选项,但是似乎标题真的更喜欢在子图之上,除非我错过了一些东西):
"column": {"type": "nominal", "field": "site", "header": {"labelPadding": -320}}
解决方案
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'))
)
推荐阅读
- javascript - 单击父路由时保持子路由相同
- wordpress - 如何在wordpress主题中显示继续阅读摘录?
- python - Django:重构“正确”的方式
- javascript - 如何在循环中检查一年中每一天的条件?
- ruby-on-rails - 无法运行 sidekiq 得到“没有名为‘pandas’的模块”
- javascript - 由 AngularJs 可视化问题提供支持的产品页面
- reactjs - 子类型声明未在具有多个连接的 HOC 中编译
- json - 读取 JSON 数据时从 OPENJSON() 接收“NULL”返回
- angular - 如何在Angular 8中调用另一个组件的方法
- swift - 'ViewController' 不能转换为 'CocoaMQTTDelegate'?