分面时 Altair SchemaValidation 错误

Altair SchemaValidation Error When Faceting

我有这个数据框:

我想制作一个显示与此图表相同信息的水平堆积条形图:

我生成了这段代码:

chart = alt.Chart(df_q4).mark_bar().encode(
    x = alt.X('value:Q', axis=None),
    color=alt.Color('color_code:N', scale=None),
    ).facet("title:N"
    ).properties(
    width=400,
    height=700)
    
    
chart

但是它抛出这个错误:

SchemaValidationError: Invalid specification

        altair.vegalite.v4.api.Chart, validating 'required'

        'data' is a required property
        

alt.FacetChart(...)

我不知道为什么我不能分面。我也尝试过在图表编码中对方面 object 进行编码,但效果不佳。

我还想将一些代码合并到我的图表中,仅显示与特定季节相关的标题、颜色和值。这将通过将代码包装在类似于以下内容的函数中来实现:

define color_palette(season):

分面图不支持 widthheight 属性。也许你是这个意思?

chart = alt.Chart(df_q4).mark_bar().encode(
    x = alt.X('value:Q', axis=None),
    color=alt.Color('color_code:N', scale=None),
).properties(
    width=400,
    height=700
).facet(
    "title:N"
)