这让我发疯了。我只想要一个散点图,其中x轴是时间,并且每n秒刻有一个刻度标记(比如说3)。我可以让轴来渲染日期,但由于某种原因,x限制是我实际收集的数据(来自传感器)的宽泛方式。
f = arr["f"].values
p = arr["p"].values
ts = arr["time"].values
d = [datetime.fromtimestamp(x/1e3) for x in ts]
t = md.date2num(d)
xfmt = md.DateFormatter('%H:%M:%S')
loc = md.SecondLocator(interval=3)
ax = fig.add_subplot(2,1,1)
ax.xaxis.set_major_formatter(xfmt)
ax.xaxis.set_major_locator(loc)
ax.scatter(t, f, s=p)
结果:
只需将xlim设置为我的数据的最小值/最大值就不起作用。
plt.xlim(d[0],d[-1])
结果:
RuntimeError: RRuleLocator estimated to generate 42388816 ticks from 2013-11-
09 00:44:48.845835+00:00 to 2017-11-19 20:45:37.472159+00:00: exceeds
Locator.MAXTICKS * 2 (2000)
为什么它试图在2013年到2017年之间产生蜱?我已经进入并想要绘制的数据是实时捕获的,时间戳设置正确。
答案 0 :(得分:0)
好的,奇怪的是,添加了一个打印声明,保存,一切都突然起作用。我猜一些奇怪的缓存问题正在进行中。 xlim现在似乎得到了适当的尊重。叹息..