使用sharey = <other_axis>

时间:2019-05-09 20:24:01

标签: python python-3.x matplotlib

我正在尝试在python 3.7和matplotlib上创建带有子图的多图图形。我在第一个子图(ax1)具有ax1.set_ylim()ax2=plt.subplot(122, sharey=ax1)

的地方设置了图

但是,我想关闭ax2的y-tick标签。当我通过ax2.set_yticks([])这样做时,两个子图上的刻度都消失了(可能是由于sharey所致)。参见下面的示例

import matplotlib.pyplot as plt
import numpy as np

# create data 
data1 = np.random.rand(10, 10)
data2 = np.random.rand(10, 10)

# plot data
fig = plt.figure(figsize=(8, 4))
ax1 = plt.subplot(121)
ax1.imshow(data1)
ax1.set_ylim(0,5)

ax2 = plt.subplot(122, sharex=ax1, sharey=ax1)
ax2.imshow(data2)
ax2.set_yticks([])

plt.show()

没有设置ax2.set_yticks([]),我得到以下信息: with-yticks 但是当我设置ax2.set_yticks([])时,两个轴都消失了: without-yticks

有更好的方法吗?我想在左侧的图上显示y轴标签,而不是在右侧。

1 个答案:

答案 0 :(得分:1)

您也可以尝试以下操作:

import matplotlib.pyplot as plt
import numpy as np

# create data 
data1 = np.random.rand(10, 10)
data2 = np.random.rand(10, 10)

# plot data
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharey=True)
ax1.imshow(data1)
ax1.set_ylim(0,5)

ax2.imshow(data2)

plt.show()

输出:

enter image description here