여기의 두 번째 예제와 비슷한 방식으로 imshow를 사용하여 플롯하려하지만 축의 스케일을 다시 정의하고 싶습니다. 내가하는 동안 이미지가 여전히 남아 있기를 바랍니다. 예에서이미지를 늘리지 않고 matplotlib에서 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()
I가 넓게 범위를 수정하는 경우
예 :imshow(z, origin='lower', extent=[-4,4,-1,1])
이어서 결과적인 이미지가 연신된다. 하지만 내가 원하는 것은 내 데이터와 일치하도록 틱을 변경하는 것이 었습니다. X와 Y 데이터를 보존하기 위해 pcolor를 사용할 수 있다는 것을 알고 있습니다.하지만 다른 결과가 있습니다.
나는 내가 수동으로 모든 틱을 다시 할 수 있습니다이 답변 발견How do I convert (or scale) axis values and redefine the tick frequency in matplotlib?
을하지만 조금 잔인한 것 같다.
레이블에 표시된 범위 만 변경하는 방법이 있습니까?
나는 플롯이 없으므로 aspect를 사용하는 것이 좋습니다. 그리고 당신은 xticks를 제보다 더 우아한 해결책으로 수정했습니다. 고맙습니다! – ubershmekel