<p>{cd1>主要的变化包括。我还在上面的图中为y轴添加了限制。x轴的记号标签一团糟。我希望那是因为我编造了数据,没有花时间把它们正确地计算出来。我的主要目的是建议一种获得垂直线的方法。在</p>
<p>主要思想是,由于<code>tiempo</code>是以日期时间为单位的,所以要绘制垂直线,它们的x坐标也必须是日期时间单位;因此,计算和使用<code>red_ordinates</code>的方法。在</p>
<pre><code>from matplotlib import pyplot as plt
from matplotlib import gridspec
import matplotlib.dates as md
import numpy as np
import random
tiempo = np.arange(771).astype('<i8').view('M8[m]').tolist()
proms = [random.gauss(0,1) for _ in range(len(tiempo))]
col11 = [1380+5*random.gauss(0,1) for _ in range(len(tiempo))]
red_ordinates = np.linspace(10,50,2).astype('<i8').view('M8[m]').tolist()
fig1 = plt.figure(figsize=(25,8))
gs = gridspec.GridSpec(2, 1)
ax0 = plt.subplot(gs[0])
graf0 = ax0.plot(tiempo, proms,color='b')
ax0.plot([red_ordinates[0], red_ordinates[0]], [-3.5, 3.5], color='r')
ax0.plot([red_ordinates[1], red_ordinates[1]], [-3.5, 3.5], color='r')
plt.ylim(-3.5, 3.5)
plt.ylabel('Intensidad de E (kV/m)',fontweight='bold')
plt.grid(True)
ax1 = plt.subplot(gs[1], sharex = ax0)
graf1 = ax1.plot(tiempo, col11, color='b')
ax1.plot([red_ordinates[0], red_ordinates[0]], [1300, 1450], color='r')
ax1.plot([red_ordinates[1], red_ordinates[1]], [1300, 1450], color='r')
plt.xlabel('Tiempo Local',fontweight='bold')
plt.ylabel('Cuentas por minuto',fontweight='bold')
plt.grid(True)
ax1.xaxis.set_major_locator(md.MinuteLocator(byminute=[0,15,30,45],interval=1))
ax1.xaxis.set_major_formatter(md.DateFormatter('%H:%M'))
plt.ylim(1300,1450)
plt.setp(ax0.get_xticklabels(), visible=False)
plt.subplots_adjust(hspace=.0)
plt.margins(x=0)
plt.show()
</code></pre>
<p>结果图:</p>
<p>{a1}</p>