簡體   English   中英

繪制非標准軸

[英]Plotting non-standard axes

我正在使用RA和Dec坐標繪制圖像。 圖像與(RA,Dec)=(0,0)點重疊。 對於y軸(偏度)來說,這很好,但是對於以度數工作的x軸,我發現很難正確地繪制它。

我希望繪圖從(RA,Dec)=(358,-2)開始並跨越四個平方度,直至(2,2)。 有沒有辦法讓python / matplotlib理解x軸上的360度= 0度?

這是我開始的方式:

lowerleft_ra = 358.
lowerleft_dec = -2.
lx = lowerleft_ra
ly = lowerleft_dec
uy = lowerleft_dec + 4.
ux = lowerleft_ra + 4.

plt.imshow(image, origin = 'lower', extent = [lx, ux, ly, uy])

這使x軸范圍從358到362,這不是我想要的。 然后,我嘗試如下進行修改:

if lowerleft_ra + 4. > 360.:
    ux = lowerleft_ra + 4. - 360.
else:
    ux = lowerleft_ra + 4.

但這只是將x軸的反向順序設置為從358下降到2度。

我怎樣才能將其移到358、359、0、1、2?

傳遞給imshow的范圍信息將通知matplotlib您要繪制的對象的大小(比例,比率等)。 繪制完畢后,您就可以手動調整軸了。 雖然我認為您不能告訴matplotlib用非線性值繪制軸,但是您可以替換刻度線標簽。

我建議創建一個從-2到+2的比例,然后使用以下方法將刻度標簽應用於您的喜好:

plt.xticks([-2,-1,0,1,2], [358,359,0,1,2])

或使用API

ax.set_xticks([-2,-1,0,1,2])
ax.set_xticklabels([358,359,0,1,2])

這給了我以下情節:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM