擅长:python、mysql、java
<p>您可以使用<code>ax.get_shared_x_axes()</code>或属性<code>ax._shared_y_axes</code>访问共享轴组。然后可以使用<code>xaxis.set_tick_params(which='both', labelleft=True)</code>或使用<code>setp(ax, get_xticklabels(), visible=True)</code>重置标签的可见性,但是这两种方法都有一个固有的问题:记号格式化程序仍然在轴之间共享。据我所知,这是没有办法的。下面是一个示例来演示:</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
np.random.seed(1)
fig, axs = plt.subplots(2, 2, sharex='row', sharey='row', squeeze=False)
axs[0][0]._shared_x_axes.remove(axs[0][0])
axs[0][0]._shared_y_axes.remove(axs[0][0])
for ii in range(2):
for jj in range(2):
axs[ii][jj].plot(np.random.randn(100), np.linspace(0,ii+jj+1, 100))
axs[0][1].yaxis.set_tick_params(which='both', labelleft=True)
axs[0][1].set_yticks(np.linspace(0,2,7))
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/qWYx9.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qWYx9.png" alt="Unsetting shared axis"/></a></p>