1 回答

TA貢獻1824條經驗 獲得超6個贊
Vega-Lite 不支持對聯合域進行排序。如果您打開圖表的 javascript 控制臺,或者在 vega 編輯器中查看它,您將看到 Vega-Lite 產生的警告:
[Warning] Dropping sort property {"field":"c","op":"sum","order":"descending"} as unioned domains only support boolean or op "count".
[Warning] Dropping sort property {"field":"c","op":"mean","order":"descending"} as unioned domains only support boolean or op "count".
相關的 Vega-Lite 錯誤在這里:https ://github.com/vega/vega-lite/issues/5048 。
如果您從同一數據集構建兩個圖層,則可以避免這種情況;例如:
bars = alt.Chart(df1).mark_bar().encode(
x=alt.X('c:Q', scale=alt.Scale(domain=[0, 22])),
y=alt.Y('a:N', sort=alt.EncodingSortField(field='c', op='sum', order='descending')),
color='b:N',
)
text = alt.Chart(df1).mark_text(dx=15).encode(
x='sum(c):Q',
y=alt.Y('a:N', sort=alt.EncodingSortField(field='c', op='sum', order='descending')),
text=alt.Text('sum(c):Q')
)
bars + text
添加回答
舉報