Python 使用imshow校正轴

Python 使用imshow校正轴,python,numpy,matplotlib,scipy,Python,Numpy,Matplotlib,Scipy,我试图使用numpy.meshgrid和pylab.imshow()绘制等高线图;使用我在stackoverflow上找到的一些技巧,这个方法一开始运行得非常好(谢谢家伙!:D) 但是,您会注意到,轴是根据两个输入矩阵的大小而不是实际值进行编号的。横坐标从100000到1000000,纵坐标从1000到5000。我在stackoverflow上读到,解决方案是使用“扩展”选项,如下所示: pylab.imshow(SLP,origin='lower',extent=(ff.min(),ff.m

我试图使用numpy.meshgrid和pylab.imshow()绘制等高线图;使用我在stackoverflow上找到的一些技巧,这个方法一开始运行得非常好(谢谢家伙!:D)

但是,您会注意到,轴是根据两个输入矩阵的大小而不是实际值进行编号的。横坐标从100000到1000000,纵坐标从1000到5000。我在stackoverflow上读到,解决方案是使用“扩展”选项,如下所示:

pylab.imshow(SLP,origin='lower',extent=(ff.min(),ff.max(),AA.min(),AA.max()))
这确实可以修复轴,但缩放图像的方式非常奇怪:

我不知道是什么原因造成的

有没有想过如何在不使图像看起来如此奇怪的情况下重新缩放轴

谢谢


nathan lachenmyer

尝试将参数
aspect='auto'
添加到
imshow
。像这样:

pylab.imshow(SLP,aspect='auto',origin='lower',extent=(ff.min(),ff.max(),AA.min(),AA.max()))

非常感谢你!这一切都解决了!!
pylab.imshow(SLP,aspect='auto',origin='lower',extent=(ff.min(),ff.max(),AA.min(),AA.max()))