如何解决用于许多子图中twinx的label_outer
我试图绘制许多子图,每个子图使用辅助轴孪生子显示2个y数据集。但是,我只想在外部位置显示yticks标签。对于原始数据,可以使用label_outer()轻松完成此操作,但是我不知道如何为辅助轴执行此操作。
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,5,step=1)
y1=np.sin(x)
y2=10*np.cos(x)
fig,axs = plt.subplots(4,3,figsize=(7.2,9.7),dpi=300,sharex='col',sharey='row',gridspec_kw={'hspace': 0.2,'wspace': 0.2})
for n,k in enumerate(np.arange(1,13,step=1)):
ax2 = axs.flat[n].twinx()
axs.flat[n].plot(x,y1,c='black')
ax2.plot(x,y2,c='deepskyblue')
axs.flat[n].set_xlabel('Frequency (Hz)',fontsize=9)
for ax in axs.flat:
ax.label_outer()
plt.tight_layout()
plt.show()
如您所见,正确的勾号标签遍布整个图,我希望它们仅位于边缘,但不确定如何实现。 谢谢
解决方法
您可以做这样的事情
window.scrollTo(0,0);
,
因此,答案是只需添加ax2.set_yticklabels([])即可删除次要的yticks标签。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。