如何使用python中的matplotlib从.text文件数据创建条形图

时间:2013-04-23 04:57:38

标签: python matplotlib

我们有一个文本文件数据如下:

正面:20

否定:10

中立:30

正面,负面,中性是标签,20,10,30是计数。我的要求是绘制上述数据的条形图。 X轴应为标签,Y轴应为计数。 所以你能告诉我如何在python中使用matplotlib做到这一点。

我已尝试过此代码,但收到了一些错误

f=open('/var/www/html/form/tweetcount.txt','r')

line = (f.next() for i in range(4))
pieces = (lin.split(':') for lin in line)

labels,values = zip(*pieces)

N=len(values)

ind = arange(N)

plt.bar(ind,labels)

1 个答案:

答案 0 :(得分:1)

我认为你的问题是你试图绘制错误的值。

此代码应该按您的要求执行:

import matplotlib.pyplot as plt
import numpy as np

# Collect the data from the file, ignore empty lines
with open('data.txt') as f:
    lines = [line.strip().split(': ') for line in f if len(line) > 1]

labels, y = zip(*lines)

# Generate indexes
ind = np.arange(len(labels))

# Convert the y values from str to int
y = map(int, y)

plt.figure()
plt.bar(ind, y, align='center')
plt.xticks(ind, labels)
plt.show()

您可以看到最终结果here