2017-02-24 3 views
0

나는 다음 코드파이썬에서 축을 설정하는 방법은 무엇입니까?

signal_filt = fits.open('signal_filt.fits')[0] 
wcs = WCS(signal_filt.header) 
fig = plt.figure() 
ax = fig.add_axes([0.1,0.1,0.8,0.8], projection=wcs) 
lqs = ax.imshow(signal_filt.data, vmin = -1, vmax = 4, cmap = 'hot',origin = 'lower') 
ax.imshow(signal_filt.data[y1:y2,x1:x2]*1000, vmin = -1, vmax = 4, cmap = 'hot', origin = 'lower') 
cb = plt.colorbar(lqs) 
cb.set_label('Flux (mJy/beam)') 

를 사용하여 .fits 이미지를하려 해요 그러나 나는 다음과 같은 축을 설정하려면 : mm : SS와 (특정 스타를 중심으로 WCS)의 위치 HH 좌표에 dd : mm : ss 0으로 설정하고 싶습니다. 왼쪽에 음수 값을 설정하고 오른쪽으로는 양수 값을 설정하고 같은 방법으로 위아래 방향으로 설정합니다. Like this example, the zero coordinates is settled in a specific place, and axes shows "deltas"

누구든지 나를 도와 줄 수 있습니까?

+1

내가 뭔가를 누락 될 수도 있지만 왜 그냥 플로팅 (https://aplpy.github.io/) APLpy]를 사용 사용하지 FITS 파일? –

+0

아마도 http://stackoverflow.com/questions/6999621/how-to-use-extent-in-matplotlib-pyplot-imshow를 참조하십시오. 또는 틱 값을 수동으로 변경하십시오. @VlasSokolov aplpy는 불행히도 (아직) 오프셋 좌표를 구현하지 않습니다. https://github.com/aplpy/aplpy/issues/31 – keflavich

답변

0

아마 사용 :

ax.set_xlim([xmin,xmax]) 
ax.set_ylim([ymin,ymax]) 

또는

x1,x2,y1,y2 = plt.axis() 
plt.axis((x1,x2,y1,y2)) 
+0

고맙지 만 작동하지 않습니다. –

관련 문제