为 altair Axis 设置 tickMinStep?

Set tickMinStep for altair Axis?

我正在尝试为 altair 中的 x 轴设置 tickMinStep,以便刻度线每两个出现一次,而不是每个出现一次。

这是我在其中找到 tickMinStep 参数的文档。 https://altair-viz.github.io/user_guide/generated/core/altair.Axis.html

这是我正在使用的示例代码:

import altair as alt
from vega_datasets import data

source = data.movies.url

chart = alt.Chart(source).mark_bar().encode(
    alt.X('IMDB_Rating:Q', axis=alt.Axis(title='Rating')),
    alt.Y('count()',title="Number of Movies"),
)

这两种方式都无法设置tickMinStep和returnSchemaValidationError: Invalid specification。知道为什么这些失败了吗?

1:

chart.configure_axisX(tickMinStep=2)

2:

chart = alt.Chart(source).mark_bar().encode(
    alt.X('IMDB_Rating:Q', axis=alt.Axis(title='Rating', tickMinStep=2)),
    alt.Y('count()',title="Number of Movies"),
)

第一种方法不起作用,因为 tickMinStep 不是可配置的选项(它不是 alt.AxisConfig 支持的参数之一)。

tickMinStep 选项已添加到 Altiar 3.0 版的 alt.Axis 中,因此尝试将其与较早的 Altair 版本一起使用会导致您看到的模式错误。更新您的 Altair 安装,您的第二个代码块应该可以正常工作。