2016-06-12 22 views
0

pythonパッケージのmatplotlib.imshowを使用して適合イメージをプロットする方法を、対応するワールド座標系の値またはおそらくRight AscensionまたはDeclinationこのページの一番下のプロットに似て、xとyの値ではなく、物理的なピクセル値、として:http://astroplotlib.stsci.edu/page_images.htmプロットするとWCSをx軸とy軸として使用するmatplotlib.imshowの画像に合う

残念ながら、提供されたスクリプトは、IDLである...何かが私はまだ堪能ではないよ中...

グリッドスペックレイアウトの概要を説明すると、おそらく役に立ちます:

fig = pyplot.figure(figsize=(11,11)) 

gridspec_layout = gridspec.GridSpec(3,3) 
gridspec_layout.update(hspace=0.0, wspace=0.0) 

hdulist_org_M33_UVM2 = fits.open('myfits.fits') 
wcs = WCS(hdulist_org_M33_UVM2[0].header) 

pyplot_2 = fig.add_subplot(gridspec_layout[2]) 

ax = WCSAxes(fig, [0.1, 0.1, 0.8, 0.8], wcs=wcs) 

pyplot_2.add_axes(ax) 

しかし、運がない。

多くのありがとうございます。

+2

あなたは[APLpy](https://aplpy.github.io)を見ましたか? – Evert

+0

@Evert私は本当にあります。グリッドスペックのレイアウトでチュートリアルの提案を実装する方法は完全にはっきりしていません...?これがどのように行われたか知っていますか? – user3125347

+0

@Evert私はグリッドスペックレイアウトを含むように質問を更新しました。 Gridspecモジュールでは動作しないようです: "AttributeError: 'AxesSubplot'オブジェクトに 'add_axes'属性がありません。" – user3125347

答えて

1

解決策の1つは、subplot parameter to FITSFigureを使用し、グリッドスペックから境界を取得することです。

次線に沿って何か:

from matplotlib import pyplot 
from matplotlib import gridspec 
import aplpy 

fig = pyplot.figure(figsize=(11, 11)) 
gridspec_layout = gridspec.GridSpec(3, 3) 
gridspec_layout.update(hspace=0.0, wspace=0.0) 
axes = fig.add_subplot(gridspec_layout[2]) 
m33 = aplpy.FITSFigure('wfpcii.fits', figure=fig, 
         subplot=list(gridspec_layout[2].get_position(fig).bounds), 
         # dimensions and slices are not normally necessary; 
         # my test-figure has 3 axes 
         dimensions=[0, 1], slices=[0]) 
print(dir(gridspec_layout[2])) 
print(gridspec_layout[2].get_position(fig).bounds) 
m33.show_colorscale() 
pyplot.show() 

本当にきれいではありませんが、それは動作します。軸に直接FITSFigureを添付する簡単な方法を見つけると、私はこの答えを修正したり、新しいものを入れたりします。

+0

本当にうまく働いています!軸ラベルと目盛りフォントのフォントスタイルを編集する方法はありますか?私はAPLpyのドキュメントを見なければならないと思う...あなたが最高のチュートリアル/ガイドへのリンクを持っていたら...? – user3125347

+0

また、カラーマップをどのように変更できますか?これは、例えば、cmap = 'gray'をaplpy.FITSFigure引数として指定することで行えますか?またはshow.colorscale()の引数の中で? – user3125347

+1

それはすべてドキュメントにあります(あなたの質問に対する答えは[チュートリアル](http://aplpy.readthedocs.io/en/stable/quickstart.html)にもあります)。ドキュメントをもう少し熟読する価値があるかもしれません。 – Evert

関連する問題