0

我有 2 个 .FITS 图像。一个是一些恒星和星系的图像。另一个是我想在它上面绘制的重要性图,作为轮廓。PyWCSGrid2 是执行此操作的 python 模块,但我尝试将一个叠加在另一个上一段时间,但我无法让它们同时显示。任何想法为什么这不起作用?

import matplotlib.pyplot as plt
import sys
import pyfits
import pywcsgrid2
from mpl_toolkits.axes_grid1.axes_divider import make_axes_locatable


imagename=str("example1.fits")

def setup_axes():
ax = pywcsgrid2.subplot(111, header=f_radio[0].header)
return ax

# GET IMAGE1
data = f_radio[0].data #*1000
ax = setup_axes()

# prepare figure & axes
fig = plt.figure(1)

#GET CONTOUR SOURCE:
f_contour_image = pyfits.open("IMAGE2.fits")
data_contour = f_contour_image[0].data

# DRAW CONTOUR
cont = ax.contour(data_contour, [5, 6, 7, 8, 9],
                   colors=["r","r","r", "r", "r"], alpha=0.5)

# DRAW IMAGE
im = ax.imshow(data, cmap=plt.cm.gray, origin="lower", interpolation="nearest",alpha=1.0)
plt.show()

更新:问题似乎是这两个图像具有不同的比例,所以它实际上是在绘制轮廓,但它们很小并且在左下角。我需要以某种方式重新调整它们。

4

1 回答 1

1

您可能正在图像下方绘制轮廓?你正在这样做:

# DRAW CONTOUR
cont = ax.contour(data_contour, [5, 6, 7, 8, 9],
                   colors=["r","r","r", "r", "r"], alpha=0.5)

# DRAW IMAGE
im = ax.imshow(data, cmap=plt.cm.gray, origin="lower", interpolation="nearest",alpha=1.0)
plt.show()

但我认为这可能会更好:

# DRAW IMAGE
im = ax.imshow(data, cmap=plt.cm.gray, origin="lower",interpolation="nearest",alpha=1.0)
# Overlay -> DRAW CONTOUR
cont = ax.contour(data_contour, [5, 6, 7, 8, 9],
                   colors=["r","r","r", "r", "r"], alpha=0.5)
plt.show()

我希望它有所帮助。

于 2015-03-21T06:22:25.477 回答