考慮以下改編自的代碼:Altair 網(wǎng)站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 編碼字段更改為以下內(nèi)容(這是我需要的)——通過(guò)添加聚合函數(shù):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()劇情不再互動(dòng)。是否可以在使用Aggregative Function時(shí)使其具有交互性,即:四處移動(dòng)、放大、縮?。?
1 回答

拉丁的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
作為解決方法,您可以將預(yù)先聚合的數(shù)據(jù)傳遞給圖表:
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()
添加回答
舉報(bào)
0/150
提交
取消