创建图表后配置 x 轴限制

Configure x-axis limits after chart creation

我知道我可以创建一个带有自定义 x 轴限制的图表,例如:

altair.Chart(source).encode(
    x=altair.X("whatever", scale=altair.Scale(domain=(left_limit, right_limit))
)

但是给定一个已创建的图表,x 轴上有所有花哨的东西等等(我的实际使用比上面的简单示例更复杂),我如何重新调整 x 轴限制的图表,而不必再次指定我的 x 轴的所有花里胡哨的东西???

您可以像这样在创建后访问和覆盖图表对象的属性:

import altair as alt
from vega_datasets import data

source = data.cars.url

chart = alt.Chart(source).mark_circle().encode(
    x=alt.X('Horsepower:Q'), #scale=alt.Scale(domain=[0, 250])),
    y='Miles_per_Gallon:Q',
)

chart

chart.encoding.x.scale = alt.Scale(domain=[40, 300])
chart