簡體   English   中英

如何使用字典繪制 Seaborn 百分比條形圖?

[英]How can i plot a Seaborn Percentage Bar graph using a dictionary?

所以我有一個包含數據的字典(籃子里的水果):

dict = {'apple' : '12', 'orange' : '9', 'banana' : '9', 'kiwi' :'3'}

現在我需要繪制一個百分比條形圖,該圖可以表示該特定水果在籃子中總水果中的百分比。

因為我們總共有 12 + 9 + 9 + 4 = 33 所以我們有:

蘋果 = 12/33 = 0.36 ,橙色 = 9/33 = 0.27 ,香蕉 = 9/33 = 0.27 ,獼猴桃 = 3/33 = 0.09 ,

所以考慮一個百分比條形圖,其中 x 軸是水果的分類數據,y 軸是成分的百分比。

以字典鍵為 x 軸,字典值除以總數作為高度的條形圖 或者,可以將PercentFormatter設置為顯示格式。 請注意,這些值需要從字符串轉換為數字,因此它們可以用作條形高度。

另請注意,使用dict作為變量名會使未來的代碼復雜化,因為之后dict不能再用作關鍵字。

from matplotlib import pyplot as plt
from matplotlib.ticker import PercentFormatter

fruit_dict = {'apple': '12', 'orange': '9', 'banana': '9', 'kiwi': '3'}
for f in fruit_dict:
    fruit_dict[f] = int(fruit_dict[f])
total = sum(fruit_dict.values())
plt.bar(fruit_dict.keys(), [v/total for v in fruit_dict.values()], color='salmon')
plt.gca().yaxis.set_major_formatter(PercentFormatter(xmax=1, decimals=0))
plt.grid(axis='y')
plt.show()

示例圖

暫無
暫無

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

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