2016-02-14 78 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不知道该怎么做。