2012-07-14 4 views
3

numpy.meshgrid와 pylab.imshow()를 사용하여 등고선 플롯을 만들려고했습니다. 이 첫 번째 I에 유래에서 발견 된 일부 도움말 사용에 정말 잘했다 (덕분에 사람을! D)imshow를 사용하여 축 수정하기

f = scipy.linspace(1e5,1e6,100) 
A = scipy.linspace(1e3,1e5,100) 
ff,AA = numpy.meshgrid(f,A) 
SLP = calc_SLP2D(ff,AA) 
maxAmps = maxA(f) 
print maxAmps 
brezovich = calc_SLP2D(f,maxAmps) 
print brezovich 
pylab.imshow(SLP,origin='lower') 
pylab.plot(f,maxA(f)) 
pylab.colorbar() 
pylab.xlabel('Frequency [kHz]',{'fontsize':20}) 
pylab.ylabel('Field Amplitude [A/m]',{'fontsize':20}) 
pylab.title('Brezovich Criterion',{'fontsize':20}) 
pylab.grid() 
pylab.show() 

contour image with incorrect axes http://web.mit.edu/scottnla/Public/SLP_contour.pdf

그러나 축이 두 입력의 크기에 따라 번호가 매겨집니다 것을 알 수 있습니다 행렬 및 실제 값이 아닙니다.

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

이 축을 고정 않지만, 규모 : 가로 좌표는 내가 솔루션이 너무과 '정도'옵션을 사용하는 것입니다 유래 읽을 1000에서 5000로가는 좌표로 1,000,000 100,000에서 이동한다 이미지는 정말 이상한 방법 :

contour plot with correct axes but incorrect graphic http://web.mit.edu/scottnla/Public/SLP_contour2.pdf

그리고 나는이 원인이 무엇인지 확실하지 않다.

이미지를 너무 이상하게 보이지 않게 축을 다시 조정할 수있는 방법에 대한 의견이 있으십니까?

감사합니다.

나단의 lachenmyer

답변

11

봅니다 imshow에 매개 변수 aspect='auto'를 추가 할 수 있습니다. 좋아요 :

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

정말 고마워요! 그 모든 고정! –

+0

내가 도와 줄 수있어 기뻤습니다 :) –

관련 문제