Matplotlib 如何将Gaia天体测量数据绘制到TESS图像上

Matplotlib 如何将Gaia天体测量数据绘制到TESS图像上

阅读更多:Matplotlib 教程

简介

TESS是NASA开展的极光探测项目,使用高清晰度望远镜获取了大量的天体图像,其中包括了许多Gaia天体测量数据。而Matplotlib则是Python中常用的绘图库,本文将介绍如何利用Matplotlib将Gaia天体测量数据绘制到TESS图像上。

准备工作

在开始绘制之前,我们需要准备一些材料。首先,我们需要Gaia天体测量数据,这些数据可以通过 Gaia Archive 在线获取。然后我们需要下载TESS图像数据,这些数据同样可以通过TESS Archive在线获取。

加载数据

在获取到Gaia和TESS数据之后,我们需要编写代码来加载这些数据。这里我们将使用Astroquery库加载数据。

from astroquery.gaia import Gaia
from astroquery.mast import Observations
import matplotlib.pyplot as plt

# 加载Gaia DR2数据
gaia_data = Gaia.query("SELECT ra, dec, parallax, pmra, pmdec, radial_velocity, phot_g_mean_mag FROM gaia_dr2.gaia_source WHERE abs(parallax)>0")

# 获得TESS图像
obs_table = Observations.query_criteria(target_name="TESS", filters=["TESS"], radius="0.2 deg")
product_list = Observations.get_product_list(obs_table)
product_list = Observations.filter_products(product_list, extension="fits", productSubGroupDescription="L")

data_products_by_type = Observations.sort_products(product_list, "type")

# 下载第一个.fits文件
data_url = Observations.download_products(data_products_by_type["LOCAL"][0]["productFilename"])

创建图像

在成功加载数据后,我们就可以开始创建我们的图像。我们可以将TESS图像作为背景,然后在上方绘制Gaia天体测量数据。

# 加载要在图像上绘制的数据
ra = gaia_data["ra"].data
dec = gaia_data["dec"].data
color = gaia_data["phot_g_mean_mag"]
size = 10 ** ((color.max() - color) / 2.5)
x, y = plt.gca().projection.transform((ra, dec))

# 加载TESS图像
with fits.open(data_url[0]) as hdul:
    tess_img = hdul[0].data
    wcs = WCS(hdul[0].header)

fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(1, 1, 1, projection=wcs)
ax.imshow(tess_img, cmap='gray_r', origin='lower')

# 绘制Gaia天体测量数据
sc = ax.scatter(x, y, s=size, c=color, transform=ax.get_transform('fk5'), edgecolor='white', alpha=0.5)
cbar = plt.colorbar(sc, ax=ax, fraction=0.03, pad=0.07, orientation='horizontal')
cbar.set_label('G Magnitude')
plt.xlabel('Right Ascension')
plt.ylabel('Declination')

plt.title("TESS Image with Gaia Sky Survey Data")

plt.show()

在运行代码后,我们就可以看到一个TESS图像,上面绘制了Gaia天体测量数据。

总结

本文介绍了如何利用Matplotlib来绘制Gaia天体测量数据到TESS图像上。首先,我们需要加载Gaia和TESS数据,然后创建图像,并将Gaia数据绘制到图像上。Matplotlib和Astroquery库都是非常有用的Python工具,可以帮助我们更好地理解和分析天体数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程