我希望使用imshow进行绘图,方式与此处的第二个示例类似 http://www.scipy.org/Plotting_Tutorial,但需要重新定义轴的比例尺。同时,我希望在这个过程中图像保持不动!
示例代码:
如果我将范围修改为更宽,例如:
然后生成的图像被拉伸。但我想做的只是将刻度与我的数据相一致。我知道可以使用pcolor来保存X和Y数据,但这会带来其他影响。
我找到了这个答案,它允许我手动重新设置所有刻度: 如何在matplotlib中转换(或缩放)轴值并重新定义刻度频率? 但那似乎有些过度。
有没有办法仅更改标签显示的范围?
示例代码:
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中转换(或缩放)轴值并重新定义刻度频率? 但那似乎有些过度。
有没有办法仅更改标签显示的范围?