如何关闭matlibplot轴的刻度和标记?

Hai*_*ang 8 python axes matplotlib

我想使用matlibplot轴绘制2个子图.由于这两个子图具有相同的ylabel和ticks,我想关闭第二个子图的刻度和标记.以下是我的简短脚本:

import matplotlib.pyplot as plt
ax1=plt.axes([0.1,0.1,0.4,0.8])
ax1.plot(X1,Y1)
ax2=plt.axes([0.5,0.1,0.4,0.8])
ax2.plot(X2,Y2)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,X轴标记重叠,不确定是否有一个整洁的解决方案.(解决方案可能是使每个子图中的最后一个标记不可见,除了最后一个,但不确定如何).谢谢!

pel*_*son 10

一个快速谷歌,我找到了答案:

plt.setp(ax2.get_yticklabels(), visible=False)
ax2.yaxis.set_tick_params(size=0)
ax1.yaxis.tick_left()
Run Code Online (Sandbox Code Playgroud)