我是python的新手。请帮我解决这个错误。我的想法是生成癌症类型和女性之间的条形图。然而,x轴上的癌症和y轴上的女性癌症。在我的数据集中,癌症列表位于第一列,女性位于第二列。我的代码在这里:
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')
for 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()
答案 0 :(得分:0)
您的名为癌症和女性的名单都包含字符串元素,而不是整数。 Matplotlib不知道该怎么做。