2016-02-14 79 views
0

我是python的新手。請幫我解決這個錯誤。我的想法是生成一個癌症類型和女性之間的條形圖。而在x軸上的癌症和在y軸上的女性。在我的癌症數據集列表中第一列和第二列中的女性。我的代碼放在這裏:使用python生成基本的條形圖

from pylab import * 
import csv 
import sys 
import matplotlib 
import matplotlib.pyplot as plt 

cancers = [] 
females = [] 

readFile = open('DeathEst.csv', 'r').read() 
eachLine = readFile.split('\n') 

線路在eachLine:命名的癌症和女性

split = line.split(';') 
    cancers.append(split[0]) 
    females.append(split[0]) 

pos = arange(len(cancers))+.5 
barh(pos, females, align='center', color='#b8ff4c') 
yticks(pos,name) 
plt.show() 


Error: 
Traceback (most recent call last): 
File "death.py", line 20, in <module> 
    barh(pos, females, align='center', color='#b8ff4c') 
File "C:\Users\.....\Desktop\Python34\lib\sitepackages\matplotlib\pyplot.py", line 2533, in barh 
ret = ax.barh(bottom, width, height=height, left=left, **kwargs) 
File "C:\Users\......\Desktop\Python34\lib\sitepackages\matplotlib\axes.py", line 5180, in barh 
bottom=bottom, orientation='horizontal', **kwargs) 
File "C:\Users\......\Desktop\Python34\lib\sitepackages\matplotlib\axes.py", line 5047, in bar 
if w < 0: 
TypeError: unorderable types: str() < int() 
+3

請使用四個空格縮進代碼snipplets(以及異常堆棧跟蹤)。這將整齊地格式化它們,使問題變得可讀。 – flaschbier

+1

粘貼後,您也可以選擇所有代碼,然後單擊花括號{}按鈕將其突出顯示爲代碼塊。請返回並編輯您的帖子,以便我們可以閱讀它。 –

回答

0

你的列表都抱着字符串元素,而不是整數。 Matplotlib不知道該怎麼做。