1

次のようなサンプル テキスト ファイルがあります:(test.txt)

06:00:41 2
06:10:41 4
06:20:41 6
06:25:41 8

X軸と2列目のy軸にこの時間の値をプロットしたいと思います。

import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates
import time
import numpy as np


f2 = open('test.txt', 'r')
lines = f2.readlines()
f2.close()


x1 = []
y1 = []


for line in lines:
    p = line.split()
    a = time.strptime((p[0]),"%H:%M:%S")
    x1.append((a))
    y1.append(float(p[1]))

xv = np.array(x1)
yv = np.array(y1)


plt.plot(xv, yv)

plt.show()

これが私がそれをプロットする方法です。しかし、X軸は500、1000、1500などを示しています。代わりに、時間の値を06:00:41、06:10:41、06:20:41などとして表示したいのですが、助けてください。

4

1 に答える 1

1

試しましたplot_dateか?

datetime時系列データを値として入れると役立つ場合があります

from datetime import datetime

for line in lines:
    p = line.split()
    xv.append(datetime.strptime(p[0], '%H:%M:%S'))

fig, ax = plt.subplots()
ax.plot_date(xv, yv)

折れ線グラフが必要な場合は、linestyle( docs )を変更してみてください

ax.plot_date(xv, yv, linestyle='-')
于 2013-06-11T08:52:26.350 に答える