创建一个对txt文件中的数据求和的条形图

时间:2017-10-10 21:07:50

标签: python-2.7

所以,我试图创建一个条形图,从一个有3行的txt文件中获取数据。我们的想法是使条形图对每行的数据求和,并在Y轴上对这些数字下的3个条形图进行求和,以及数字在X轴上的含义名称。我一直在寻找,但我觉得它真的远离我真正需要的东西。

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

arrays = np.loadtxt("D:/uni/txt arkhives/tiempos.txt", dtype=float)
row1 =np.array(arrays[:,0])
row2 =np.array(arrays[:,1])
row3 =np.array(arrays[:,2])

index = pd.MultiIndex.from_arrays(arrays, names=['first', 'second','third'])
df = pd.DataFrame({'A': row1, 'B': row2, 'C': row3}, index=index)
plt.figure()
df.groupby(['row1','row2','row3']).sum().unstack().plot()
plt.grid()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Graph')
plt.legend()
plt.show()

我一直收到这个错误:

Code Error

1 个答案:

答案 0 :(得分:0)

这可能是您正在寻找的:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

##If you do not have headers in your file use:
df = pd.read_table("D:/uni/txt arkhives/tiempos.txt",header=None,names = ['A','B','C'])
##If you do have headers in your file use:
df = pd.read_table("D:/uni/txt arkhives/tiempos.txt")

df['bar'] = 1 
dfgroup = df.groupby('bar').sum()
ax = dfgroup [['A','B','C']].plot(kind='bar', title ="Bar Chart", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("X label", fontsize=12)
ax.set_ylabel("Y Lable", fontsize=12)
plt.show()

确保列名称为A,B,C,它应该是好的。