我从气象站获取数据进行绘图,包括温度,压力和辐射测量。当试图绘制不同的数据点时,我总是会遇到此错误...即使代码适用于参数完全相同但测量值明显不同的另一个测站。 我已经尝试了所有方法,但是找不到问题的根源。我希望有一个人可以帮助我!
a link
答案 0 :(得分:0)
您的症状看起来类似于this个已知的错误。我无法确认,因为您的代码看起来不完整。例如,您没有显示dates_M
是什么。
忽略这一点,我将看看x_time_M
中的值。我希望它们都是numpy.nan
之类的东西。然后查看daten_si_M
找出原因。
无论如何,这是我认为您(和我)正在看到的错误的简单得多的情况。
import matplotlib.pyplot as plt
import numpy as np
fig,ax = plt.subplots()
ax.xaxis_date()
ax.plot([np.nan])
plt.show()
这会触发与您看到的相同的异常。
ValueError: view limit minimum -0.001 is less than 1 and is an invalid
Matplotlib date value. This often happens if you pass a non-datetime to
an axis that has datetime units
将此绘图调用更改为正常。
ax.plot([])
据我了解,matplotlib
日期值不能小于1。在此示例中,所有坐标(此处仅一个)为numpy.nan
,这导致视图限制设置为(- 0.001,0.001),都不能用作日期,从而触发异常。
我在自己的代码中遇到相同的问题,该代码使用matplotlib
2.2.2,并且没有升级选项。我想出的唯一解决方法是在检测到这种情况时在 x 轴上设置限制。
...
ax.set_xlim(now,now+oneDay)
...
在我的情况下,范围没有区别,因为没有什么更好的了,因为所有 x 坐标都是numpy.nan
。
祝你好运。