我试图读入一个名为“StabilityResults.csv”的分隔csv,并用第0列的x标签创建第7列的条形图。从列0获取标签不是问题,但是将col7中的值读取到列表中似乎并不能作为matplotlib中的有效输入。有没有办法转换我的值列表,使它们在matplotlib中可读??
import matplotlib.pyplot as plt
import csv
import numpy as np
res = csv.reader(open('StabilityResults.csv'), delimiter=',')
res.next() # do not read header
mut = []
tot = []
a = 0
width = 0.2
for col in res:
mut.append(col[0])
tot.append(col[7])
a += 1
ind = arange(a)
p1 = plt.bar(ind,tot,width,color='r')
labs = plt.xticks(ind+width,mut)
plt.show()
我还使用numpy的genfromtxt函数阅读了column7,但这给出了一个同样不起作用的数组。
tot2 = np.genfromtxt('StabilityResults.csv', delimiter=',', dtype=None, names=True, deletechars=',', usecols=[7])
您应该将数据转换为整数类型(或浮点)
附加
col
列表的内容,即文本。您必须将其转换为int
或float
:啊,应该花更多的时间。与Manuel的回答类似,我只是在for循环中添加了一个临时的holder以转换为float:
两种方法都有效!
干杯
相关问题 更多 >
编程相关推荐