Ваша проблема возникает из-за смешивания единиц времени и даты, а не значений времени-даты.
Когда вы запускаете свой код, раскомментируя plt.vlines(hcoord,0,4)
, вы должны получить исключение:
fig = plt.figure()
hcoord = np.arange(0,1,23)
v2=np.datetime64('2019-09-13T03:30')
v1=np.datetime64('2019-09-13T05:40')
# Adding Stations V5 / V3 / SAS5 / SAS3
plt.hlines("GA",v1,v2,"grey","dotted")
plt.hlines("SAS3",v1,v2,"grey","dotted")
plt.hlines("SAS5",v1,v2,"grey","dotted")
plt.hlines("V3",v1,v2,"grey","dotted")
plt.hlines("V5",v1,v2,"grey","dotted")
plt.vlines(hcoord,0,4)
plt.show()
ValueError: минимальный предел просмотра -36865.76180555556 меньше 1 и
является недопустимым значением даты Matplotlib. Это часто случается, если вы передаете
значение, отличное от datetime для оси с единицами datetime
При замене hcoord
значением даты и времени работает как ожидалось:
fig = plt.figure()
hcoord = np.arange(0,1,23)
v2=np.datetime64('2019-09-13T03:30')
v1=np.datetime64('2019-09-13T05:40')
# Adding Stations V5 / V3 / SAS5 / SAS3
plt.hlines("GA",v1,v2,"grey","dotted")
plt.hlines("SAS3",v1,v2,"grey","dotted")
plt.hlines("SAS5",v1,v2,"grey","dotted")
plt.hlines("V3",v1,v2,"grey","dotted")
plt.hlines("V5",v1,v2,"grey","dotted")
plt.vlines(v2,0,4)
plt.show()
К сожалению, я не понимаю, что вы пытаетесь построить с помощью hccord = np.arange(0,1,23)
, так как эта инструкция возвращает [0]
. Вам нужно будет выяснить, как сгенерировать правильный массив hcoord
в единицах времени и даты, чтобы получить график, который вы ожидаете.