>>> from astropy import units as u >>> from astropy.coordinates import SkyCoord >>> import numpy as np
ではまず、numpy.random.multivariate_normalを用いて、プロットするためのデータを作成します。生成されるデータは、直交座標系を用いて表されます。正規分布の、Z成分の幅を変えることで、銀河系のディスクとバルジを表現します。
>>> disk = np.random.multivariate_normal(mean=[0,0,0], cov=np.diag([1,1,0.5]), size=5000) >>> bulge = np.random.multivariate_normal(mean=[0,0,0], cov=np.diag([1,1,1]), size=500) >>> galaxy = np.concatenate([disk, bulge])
次に、生成したデータをSkycoordオブジェクトに変換し、直交座標系から赤道座標系に座標を変換します。
>>> c_gal = SkyCoord(galaxy, representation='cartesian', frame='galactic') >>> c_gal_icrs = c_gal.icrs
実例1でやったのと同じように、角度の単位をラジアンに変換し、赤経を $-\pi$ から $\pi$ で表すように変換を行います。
>>> ra_rad = c_gal_icrs.ra.wrap_at(180 * u.deg).radian >>> dec_rad = c_gal_icrs.dec.radian
最後に実例1と同じ設定で、matplotlibを用いてデータをプロットしてみます。
>>> import matplotlib.pyplot as plt >>> plt.figure(figsize=(8,4.2)) >>> plt.subplot(111, projection="aitoff") >>> plt.title("Aitoff projection of our random data") >>> plt.grid(True) >>> plt.plot(ra_rad, dec_rad, 'o', markersize=2, alpha=0.3) >>> plt.subplots_adjust(top=0.95,bottom=0.0) >>> plt.show()
![]() |
実例2 |