考慮以下改編自的代碼:Altair 網站import altair as altimport pandas as pdsource = pd.DataFrame({ 'a': ['A', 'B', 'B', 'B', 'E', 'F', 'G', 'H', 'I'], 'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]})alt.Chart(source).mark_bar().encode( x='a', y='b:Q').interactive()輸出此圖:這是交互式的(我們可以放大)。但是,如果我將 Y 編碼字段更改為以下內容(這是我需要的)——通過添加聚合函數:import altair as altimport pandas as pdsource = pd.DataFrame({ 'a': ['A', 'B', 'B', 'B', 'E', 'F', 'G', 'H', 'I'], 'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]})alt.Chart(source).mark_bar().encode( x='a', y='sum(b):Q').interactive()劇情不再互動。是否可以在使用Aggregative Function時使其具有交互性,即:四處移動、放大、縮?。?
1 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
作為解決方法,您可以將預先聚合的數據傳遞給圖表:
import altair as alt
import pandas as pd
source = pd.DataFrame({
? ? 'a': ['A', 'B', 'B', 'B', 'E', 'F', 'G', 'H', 'I'],
? ? 'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
data = source.groupby('a').sum().reset_index()
alt.Chart(data).mark_bar().encode(
? ? x='a',
? ? y=alt.Y('b', title='Sum of b')
).interactive()
添加回答
舉報
0/150
提交
取消