matplotlib 多个图 - 显示所有子图的 yticks

niv*_*niv 1 python matplotlib

我有一个多图图形,使用此命令(所有子图共享 x 和 y 轴):

fig, axes = plt.subplots(nrows=1, ncols=4, sharex=True, sharey=True)
Run Code Online (Sandbox Code Playgroud)

如何使 yticks 出现在所有子图上(以红色显示): 在此输入图像描述

谢谢 :)

J R*_*ape 5

您需要为每个图上的 yaxes 设置刻度标签才能具有属性visible=True

一个最小的例子如下:

fig, axes = plt.subplots(nrows=1, ncols=4, sharex=True, sharey=True)
for ax in axes:
    ax.plot(range(20),range(10,30))
    plt.setp(ax.get_yticklabels(),visible=True) # set property
Run Code Online (Sandbox Code Playgroud)

请注意,setp设置作为第一个参数传入的对象的传入属性,或者(如果该对象是可迭代的)该对象的每个组件。该pyplot.setp()接口记录在此处,并作为matplotlib目标Artist代码的一部分实现

这会产生:

在此输入图像描述