一般来说,传入None
Python/Altair 将导致null
JSON/vega。例如,在隐藏图例时("legend": null
在 Vega-Lite 中),您可以legend=None
在 Altair 中使用,如调整图例中所述。
然而,在聚合的情况下,这是行不通的:根据 Vega-Lite 模式,null
不是 的有效参数aggregate
,因此在 Altair 中尝试此操作将导致SchemaValidationError
.
如果出于某种原因你真的想产生这个无效的规范,你可以通过传递validate=False
给alt.Chart.to_json
:
import altair as alt
chart = alt.Chart().mark_bar(tooltip=True).encode(
x=alt.X('Creative Type:N', aggregate=None),
y=alt.Y('Creative Type:N', aggregate='count')
)
print(chart.to_json(validate=False))
# {
# "$schema": "https://vega.github.io/schema/vega-lite/v4.8.1.json",
# "config": {
# "view": {
# "continuousHeight": 300,
# "continuousWidth": 400
# }
# },
# "encoding": {
# "x": {
# "aggregate": null,
# "field": "Creative Type",
# "type": "nominal"
# },
# "y": {
# "aggregate": "count",
# "field": "Creative Type",
# "type": "nominal"
# }
# },
# "mark": {
# "tooltip": true,
# "type": "bar"
# }
# }