2

我用这种结构读取了腌制的 numpy 数组:

>>> h.shape
(256,)
>>> h[:10]
rec.array([(datetime.date(2011, 1, 2), 1, -3, 1014),
       (datetime.date(2011, 1, 3), 3, -6, 1016),
       (datetime.date(2011, 1, 4), 0, -9, 1023),
       (datetime.date(2011, 1, 5), 1, -6, 1023),
       (datetime.date(2011, 1, 6), 3, -2, 1026),
       (datetime.date(2011, 1, 7), 2, -1, 1029),
       (datetime.date(2011, 1, 8), -1, -1, 1027),
       (datetime.date(2011, 1, 9), -1, -2, 1025),
       (datetime.date(2011, 1, 10), -1, -2, 1025),
       (datetime.date(2011, 1, 11), 3, 3, 1020)], 
      dtype=[('date', '|O4'), ('high', '|i1'), ('low', '|i1'), ('pres', '<i2')])

并且找不到如何用 matplotlib 绘制它。我尝试使用plt.plot_date(...),但在任何组合上都会出错。有人可以指出正确的方向如何绘制简单的折线图,其中 X 轴作为日期,Y 轴来自这个数组的任何其他值,比如说pres标记数据?

4

1 回答 1

0

鉴于这h是一个numpy.recarray你可以通过使用实现基本绘图

plt.plot_date(h.date, h.pres, linestyle='-', marker=None)
plt.gcf().autofmt_xdate() # Optional; included to format x-axis for dates

情节可能需要进一步定制才能看起来像您想要的那样。 在此处输入图像描述

于 2013-05-12T11:16:32.067 回答