2016-10-29 104 views
2
Groups Counts 
1 0-9  38 
3 10-19 41 
5 20-29 77 
7 30-39 73 
9 40-49 34 

我想使用matplotlib.pyplot庫創建一個條形圖,其中包含x軸上的組和y軸上的計數。我嘗試過了使用下面的代碼使用Matplotlib.pyp在python中繪製條形圖

ax = plt.subplots() 
    rects1 = ax.bar(survived_df["Groups"], survived_df["Counts"], color='r') 
    plt.show() 

但我發現了以下錯誤

invalid literal for float(): 0-9 
+0

明顯(如錯誤消息告訴)數據類型你的組列與浮動不兼容。你的數據類型是什麼?串?什麼樣的對象是'survived_df'。你使用熊貓嗎?然後將其添加到標籤! – dnalow

回答

5

給予plt.bar功能必須是對應的左側邊的x座標號碼第一陣列酒吧。在你的情況下,[0-9, 10-19, ...]不被認爲是有效的參數。

然而,您可以使用DataFrame的索引製作條形圖,然後定義x-ticks(您希望將標籤放置在x軸上的位置)的位置,然後更改您的x刻度的標籤組名稱。

fig,ax = plt.subplots() 
ax.bar(survived_df.index, survived_df.Counts, width=0.8, color='r') 
ax.set_xticks(survived_df.index+0.4) # set the x ticks to be at the middle of each bar since the width of each bar is 0.8 
ax.set_xticklabels(survived_df.Groups) #replace the name of the x ticks with your Groups name 
plt.show() 

enter image description here

請注意,你也可以用一個襯墊直接使用Pandas繪圖功能:

survived_df.plot('Groups', 'Counts', kind='bar', color='r') 

enter image description here