我正在尝试为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"),
)

最佳答案

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

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

关于python - 为Altair Axis设置tickMinStep吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56064697/

10-12 18:40