Python Altair - 条形图 - 刻度绑定

Python Altair - Bar Chart - Scale Binding

我想结合 Altair 文档中的两个示例来获得垂直滚动条形图的能力。一个用例是甘特图。

目前我只获得了水平滚动的能力,图表内容被压缩到我定义的属性高度:

import altair as alt
from vega_datasets import data

source = data.wheat()

bars = alt.Chart(source).mark_bar().encode(
    x='wheat:Q',
    y="year:O"
)

text = bars.mark_text(
    align='left',
    baseline='middle',
    dx=3  # Nudges text to right so it doesn't appear on top of the bar
).encode(
    text='wheat:Q'
)

selection = alt.selection_interval(bind='scales')
(bars + text).properties(height=300).add_selection(
    selection
)

如何配置图表以保留原始比例并允许在定义的高度内滚动?

谢谢!

分类编码,例如序数 (":O") 和标称 (":N") 不能有比例限制选择。要使垂直轴具有交互性,您应该使 y 编码量化。例如:

bars = alt.Chart(source).mark_bar(orient='horizontal').encode(
    x='wheat:Q',
    y='year:Q',
)