在列1(Data_1)中有6行,我试图用时间绘制每个行,我想在matplotlib中使用时间序列进行绘制。我没有如何使用时间序列进行绘图。我不知道如何传递时间信息进行绘图:
参考图
有人可以告诉我如何正确传递此信息。
如何使用Matplotlib在x轴上绘制时间并在y轴上绘制行?谢谢
Time; Data_1;
0.000000; 2389;-r1
0.002778; 2381;-r2
0.005556; 2372;-r3
0.008333; 2360;-r4
0.011111; 2355;-r5
0.013889; 2351;-r6
sys.__stdout__ = sys.stdout
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
df = pd.read_csv('tst.txt', delimiter='\t')
for i,row in df.iterrows():
for j, column in row.iteritems():
x1 = j
y1 =row[0]
print(x1,y1)
df.plot(x="x1",y="y1",ax=ax)
plt.show()
我想在x轴上使用for循环时间:对于(0,10000)中的每一行都使用x进行时间绘制。
答案 0 :(得分:0)
不依赖熊猫plot
函数可以提高性能,但是根据您的数据,这可能会起作用:
df = pd.read_csv('tst.csv', delimiter=';')
fig, ax = plt.subplots()
def animate(i):
plt.cla()
df.iloc[:i+1,:].plot(x='Time', ax=ax)
ax.set_xlim(df.Time.min(), df.Time.max()) # prevents pandas from changing xlimits if desired
ani = animation.FuncAnimation(fig, animate, frames=len(df.index), interval=100)
plt.show()