0

これは私のデータフレームです

df = pd.DataFrame((['Sep-2015',  'Adam',3,10 ],         
['Sep-2015',  'David',3,9],
['Sep-2015',  'Adam',4,8],                   
['Sep-2015',  'Adam' ,3,7],         
['Sep-2015',  'David',6,6],         
['Sep-2015' , 'Hardik',1,5],        
['Sep-2015' , 'David' ,3,4],['Aug-2015' , 'David' ,3,4],['Aug-2015' , 'Ada' ,3,4]),columns=
['Date','Name','Count','alarm'])

このデータフレームを使用して、積み上げ棒グラフをプロットしました

df.sort_values('Date')
df = df.drop_duplicates(['Date', 'Name'], keep='last')
df2 = pd.DataFrame()
df2['Date'] = df['Date']
df2['Name'] = df['Name']
df2['Count'] = df['alarm']
df2
#pivot table
df2 = pd.pivot_table(data = df, values = 'alarm', columns = 'Name', index = 'Date').reset_index()
df2 = df2.set_index('Date')
plot = df2.plot(kind = 'bar',stacked = True,figsize=(15, 5))

次のような出力が得られました

ここに画像の説明を入力

ここでは、バーをクリックしたときにバー名を表示しようとしました。私は試した

mplcursors.cursor(plot).connect(
                    "add", lambda sel: sel.annotation.set_text(['Ada','Adam','David','Hardik'][sel.target.index]))

しかし、これを試してみると、すべてのバーの最初の要素 (Ada) のみが表示されます。バー名を表示するにはどうすればよいですか?

4

1 に答える 1