【发布时间】:2015-11-05 22:01:33
【问题描述】:
我正在绘制一个文本文件中的数据,该文件有两列由逗号分隔。第一列是格式为%H:%S 的时间。第二行是数字。
现在,我的编码显示 %Y%m%d %H:%M:%s 而不是 %H:%M。如您所见,有很多条目,它们相互重叠。如何让刻度每 1 或 2 次跳过一次以使时间更明显?
我该如何纠正这个问题?
文件内容:
09:30,33.89
09:34,34.17
09:39,34.41
09:44,34.20
09:49,34.40
脚本:
#!/usr/bin/python
from __future__ import division
import sys
import csv
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import datetime as dt
import numpy as np
homedir = '/home//'
ymd = sys.argv[1]
sym = sys.argv[2]
x,y = [],[]
csv_reader = csv.reader(open(homedir + 'finance/data/' + sym + '_' + ymd))
for line in csv_reader:
x.append(dt.datetime.strptime(line[0], '%H:%M'))
y.append(str(line[1]))
fig = plt.figure()
ax = fig.add_subplot(111)
#ax.grid(which='both')
ax.plot(x,y,'-',ms=3,linewidth=1)
#fig.autofmt_xdate(x,rotation=90,ha='center')
plt.xticks(x, x, rotation=90,ha='center')
plt.title('Daily Market Data for ' + sym + ' on ' + ymd)
plt.ylabel('Stock Price [$]')
plt.xlabel('Time of Day')
plt.grid(True)
fig.set_size_inches(9,5)
plt.savefig(homedir + 'finance/' + sym + '_' + ymd + '.png', dpi = 300, bbox_inches='tight')
#plt.show()
剧情:
【问题讨论】:
-
刚刚重新上传了剧情。
-
这可能会有所帮助:matplotlib.org/api/…
标签: python csv unix matplotlib