簡體   English   中英

來自 Pandas Dataframe 的 Hvplot/bokeh 匯總條形圖

[英]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'])

條形圖1

我可能會在 HoloViews 中提出一個問題,以支持與樣式分離的圖例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM