我必须在我的图表中绘制 3 个不同通道的脑电图数据。我想将所有这些都绘制在一个由水平线分隔的图中。所有通道共用的 X 轴。
我可以通过使用 add_axes 轻松做到这一点。但我想画一条与这些轴相交的垂直线。但我做不到。
目前,我的示例代码如下所示。
from pylab import figure, show, setp
from numpy import sin, cos, exp, pi, arange
t = arange(0.0, 2.0, 0.01)
s1 = sin(2*pi*t)
s2 = exp(-t)
s3 = 200*t
fig = figure()
t = arange(0.0, 2.0, 0.01)
yprops = dict(rotation=0,
horizontalalignment='right',
verticalalignment='center',
x=-0.1)
axprops = dict(yticks=[])
ax1 =fig.add_axes([0.1, 0.5, 0.8, 0.2], **axprops)
ax1.plot(t, s1)
ax1.set_ylabel('S1', **yprops)
axprops['sharex'] = ax1
#axprops['sharey'] = ax1
# force x axes to remain in register, even with toolbar navigation
ax2 = fig.add_axes([0.1, 0.3, 0.8, 0.2], **axprops)
ax2.plot(t, s2)
ax2.set_ylabel('S2', **yprops)
ax3 = fig.add_axes([0.1, 0.1, 0.8, 0.2], **axprops)
ax3.plot(t, s3)
ax3.set_ylabel('S3', **yprops)
# turn off x ticklabels for all but the lower axes
for ax in ax1, ax2:
setp(ax.get_xticklabels(), visible=False)
show()
我希望我的最终图像看起来像下面的图像。在我当前的输出中,我可以得到没有绿色垂直线的相同图表。
有人可以帮忙吗???我不想使用子图,也不想为每个轴添加 axvline。
谢谢你,thothadri