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

时间:2015-09-16 22:04:46

标签: python matplotlib

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

fig, axes = plt.subplots(nrows=1, ncols=4, sharex=True, sharey=True)

如何让yticks出现在所有子图上(以红色显示): enter image description here

谢谢:)

1 个答案:

答案 0 :(得分:4)

您需要在每个地块上为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

请注意,setp将传入的对象的传入属性设置为第一个参数,或者(如果该对象可迭代)该对象的每个组件。 pyplot.setp()界面为documented here,并作为matplotlib的{​​{1}}对象 - code here的一部分实施。

这会产生:

enter image description here