我正在使用matplotlib绘制一系列热力图。如果没有共享y轴,它可以正常工作。但当我试图共享y轴时就会遇到问题,x轴的限制似乎被改变了。
请看下面的最小工作示例:
这种情况下的错误输出如下图所示:
而将
有没有办法解决这个问题?
请看下面的最小工作示例:
import matplotlib
print matplotlib.__version__ # prints "1.4.2"
import matplotlib.pyplot as plt
data = [[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]
nrows, ncols = 1, 4
fig, axes = plt.subplots(nrows, ncols, sharey=True)
for j in range(ncols):
xs = axes[j]
# seems to have no impact when sharey=True
#xs.set_xlim(-0.5, 2.5)
xs.imshow(data, interpolation='none')
plt.show()
这种情况下的错误输出如下图所示:
![Incorrect output with incorrect x limits](https://istack.dev59.com/qn5FR.webp)
sharey=True
更改为 sharey=False
,便可以得到正确的输出(当然,现在需要共享 y 轴,但实际上不会):
![Correct output with correct x limits](https://istack.dev59.com/GzkIq.webp)