我想根据条件改变shape参数,并且在某些情况下希望将其保留为默认值。但是,以下内容:

import altair as A
shape = A.Undefined
ch = A.Chart({}).encode(shape=shape)


引发TypeError: argument of type 'UndefinedType' is not iterable。这是一个错误,还是我可以传递一个适当的“空”值?

最佳答案

Altair的API当前不支持任何标记表示空编码。如果这对您的用例很重要,则可以在https://github.com/altair-viz/altair/issues处打开功能请求

最好的解决方法是做这样的事情:

import altair as alt
shape = None

kwds = {} if shape is None else {'shape': shape}
ch = alt.Chart().encode(**kwds)

10-06 14:55