我正在尝试创建一个大文本数据文件的条形图,如下所示,存储在 csv 文件中:
#DowntonPBS, 23
#DowntonAbbey, 12
#Download, 8
#Download:, 2
#Downloads, 2
#DownstairsMixtape, 1
#DownWithAssad, 1
#DownYoTLParty, 1
#DowntonAbbey?, 1
#Downtonabbey, 1
#DowntownAbbey, 1
以下代码是我所在的位置,虽然这种方法过去适用于不同的绘图脚本,但我在这里做错了我似乎无法找到的事情。我似乎只得到了三条记录,而不是绘制所有数据。
import pylab as p
import sys
from matplotlib.mlab import csv2rec
y = []
fig = p.figure()
ax = fig.add_subplot(1,1,1)
input = open(sys.argv[1], 'r')
data = csv2rec(input, names=['tag', 'count'])
for item in data['count']:
y.append(item)
N = len(y)
ind = range(N)
ax.bar(ind, y, align='center')
ax.set_ylabel('Counts')
ax.set_title('HashTag Diversity')
ax.set_xticks(ind)
group_labels = data['tag']
ax.set_xticklabels(group_labels)
fig.autofmt_xdate()
p.show()
如果我为 y 和 N 添加打印语句,并针对我更大的数据集运行脚本,我最终会得到:
[45, 37, 36]
3
这些值应该是一个非常大的数组“1000”值,长度 (N) 应该 = 1000。我不确定这里发生了什么。