matplotlib-多面板打印的单轴标签?

matplotlib-多面板打印的单轴标签?,matplotlib,Matplotlib,我要创建多面板打印: import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.add_subplot(2,1,1) ax1.scatter(1,1) ax2 = fig.add_subplot(2,1,2,sharex=ax1) ax2.scatter(1,1) 然后为标签创建一个单独的Axis对象 dummy = fig.add_subplot(1,1,1) dummy.set_visible(False) dummy.yax

我要创建多面板打印:

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
ax1.scatter(1,1)
ax2 = fig.add_subplot(2,1,2,sharex=ax1)
ax2.scatter(1,1)
然后为标签创建一个单独的Axis对象

dummy = fig.add_subplot(1,1,1)
dummy.set_visible(False)
dummy.yaxis.set_label_text('y label')
dummy.yaxis.label.set_visible(True)

但是不起作用。我想知道为什么?

当我昨天遇到类似问题时,我只是使用
text()
函数来实现结果。以您的示例为例,下面的内容如下

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
ax1.scatter(1,1)
ax2 = fig.add_subplot(2,1,2,sharex=ax1)
ax2.scatter(1,1)

ax = fig.add_axes( [0., 0., 1, 1] )
ax.set_axis_off()
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.text( 
    .05, 0.5, "Y Label", rotation='vertical',
    horizontalalignment='center', verticalalignment='center'
)

您可能还希望使用
plt.subplot\u adjust()
为标签留出空间。

Nice-这很有效。谢谢你知道为什么我的例子不起作用吗。。。?