我尝试使用imshow在一个图形的单独绘图中绘制几个数组的值。在
当我只绘制一个图像时,使用plt.imshow公司()命令的范围正确,图形就完美地显示出来了。 但是,当我尝试在同一个图形中创建此图像的多个绘图时,使用plt.子批次(),这些绘图都以不正确的x轴设置结束,并且有白色页边距。我尝试用set xlim()命令更正x轴范围,但没有效果(我也不明白)。在
最小工作样本如下-任何帮助将不胜感激!在
from matplotlib import pyplot as plt
import numpy as n
image = n.array([[ 1., 2., 2., 5.],
[ 1., 0., 0., 3.],
[ 1., 2., 0., 2.],
[ 4., 2., 3., 2.]])
xextent, yextent= n.shape(image)
fig, ax = plt.subplots(2,sharex=True, sharey=True)
im0 = ax[0].imshow(image, extent=(0,xextent,yextent,0),interpolation='nearest');
ax[0].set_xlim([0,4])
im1 = ax[1].imshow(image, extent=(0,xextent,yextent,0),interpolation='nearest');
ax[1].set_xlim([0,4])
plt.show()
所以选择是:
删除
sharex
/sharey
关键字-似乎与子批环境中的imshow冲突。(建议人xnx)使用带有适当设置的
plt.subplots_adjust
,与plt.gcf().tight_layout()
(由mwormser建议)在子批次环境中使用pcolormesh而不是imshow。
我相信空白的原因是窗户的大小。你可以改变窗口大小(你必须计算出数字),也可以调整子窗口。我发现这是通过玩“配置子窗口”按钮在图像弹出窗口。在
有了这一行,绘图将没有空白,但仍有一些空白(您可以通过调整窗口大小来修复)。在
相关问题 更多 >
编程相关推荐