我想以类似于此处http://www.scipy.org/Plotting_Tutorial的第二个示例的方式使用 imshow 进行绘图,但要重新定义轴的比例。我还希望图像在执行此操作时保持静止!
示例中的代码:
from scipy import *
from pylab import *
# Creating the grid of coordinates x,y
x,y = ogrid[-1.:1.:.01, -1.:1.:.01]
z = 3*y*(3*x**2-y**2)/4 + .5*cos(6*pi * sqrt(x**2 +y**2) + arctan2(x,y))
hold(True)
# Creating image
imshow(z, origin='lower', extent=[-1,1,-1,1])
xlabel('x')
ylabel('y')
title('A spiral !')
# Adding a line plot slicing the z matrix just for fun.
plot(x[:], z[50, :])
show()
如果我将范围修改为更宽,例如:
imshow(z, origin='lower', extent=[-4,4,-1,1])
然后拉伸生成的图像。但我想做的只是改变刻度以与我的数据一致。我知道我可以使用 pcolor 来保存 X 和 Y 数据,尽管这会产生其他影响。
我找到了这个答案,它允许我手动重做所有刻度:
如何转换(或缩放)轴值并重新定义 matplotlib 中的滴答频率?
但这似乎有点矫枉过正。
有没有办法只改变标签显示的范围?