[英]Hvplot/bokeh summed Bar chart from Pandas Dataframe
我正在嘗試在 jupyter notebook 中使用 HVplot 和 bokeh 打印“簡單”條形圖。 下面是一些簡化的數據:
我的目標是獲得這樣的條形圖(注意它不必堆疊。唯一重要的是總計。):
由於我無法弄清楚如何獲得包含某些列總和的條形圖,因此我使用pandas.melt
將數據建模為如下所示:
使用此數據,我可以繪制它,但不會對這些值求和。 相反,彼此后面有多個 Bar。
這是我用來測試的代碼:
testd = {'Name': ['Item1', 'Item2','Item3','Item3'],'Filter': ['F1','F2','F1','F1'],
'Count': [1,5,2,1], 'CountCategory': ['CountA','CountB','CountA','CountD']}
testdf = pd.DataFrame(data=testd)
testdf.hvplot.bar('CountCategory','Count',groupby='Filter', rot=90, aggregator=np.sum)
如果我省略了aggregator=np.sum
它不會改變任何東西
有誰知道如何正確地繪制這個? 它不必使用“轉置”數據,因為我只是這樣做,因為我不知道如何繪制原始數據。 另一個問題是是否有可能
該aggregator
是使用由datashade /光柵化操作來匯總數據,並確實對巴圖沒有影響。 如果您想聚合數據,我建議您使用 Pandas 方法。 但是,在您的情況下,我認為這不是問題,實現您請求的繪圖的主要問題是在全息視圖中,圖例通常與樣式相關聯,這意味着您無法輕松獲取圖例來顯示過濾器並分別為每個條着色。
您可以這樣做並將過濾器添加為懸停列,這意味着您仍然可以訪問它:
testdf.hvplot.bar('CountCategory', 'Count', by='Name', stacked=True, rot=90, hover_cols=['Filter'])
我可能會在 HoloViews 中提出一個問題,以支持與樣式分離的圖例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.