为Altair Axis设置tickMinStep吗?

时间:2019-05-09 17:31:48

标签: python altair

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

在这里找到了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,并返回SchemaValidationError: 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"),
)

1 个答案:

答案 0 :(得分:1)

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

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