小编Dia*_*mir的帖子

Healpy 绘图:如何使用healpy.mollview 投影制作带有子图的图形?

我最近刚刚开始尝试使用healpy,但我不知道如何制作子图来包含我的地图。我有一个行星随时间变化的热发射图,我需要在几个时刻(假设 9 个不同的时间)查看它并叠加一些坐标,以检查我的行星是否以正确的方式旋转。

到目前为止,我可以做两件事。

  1. 用叠加的坐标制作 9 个不同的图形。
  2. 制作一个包含 9 个子图的图形,其中包含 9 个不同的地图,但将所有坐标叠加在所有子图上,而不仅仅是时间适当的子图。

我不确定这是否是一个非常简单的问题,但这让我发疯,我找不到任何有效的方法。

我会告诉你我的意思:

选项1:

import healpy as hp 
import matplolib.pyplot as plt 





MAX = 10**(23)
MIN = 10**10

for i in range(9):
    t = 4000+10*i

    hp.visufunc.mollview(Fmap_wvpix[t,:],
                         title = "Map at t="+str(t), min = MIN, max=MAX))

    hp.visufunc.projplot(d[t,np.where(np.abs(d[t,:,2]-SSP[t])<0.5),1 ],
                         d[t,np.where(np.abs(d[t,:,2]-SSP[t])<0.5),2], 
                         'k*',markersize = 6)

    hp.visufunc.projplot(d[t,np.where(np.abs(d[t,:,2]-(SOP[t]))<0.2),1 ],
                         d[t,np.where(np.abs(d[t,:,2]-(SOP[t]))<0.2),2], 
                         'r*',markersize = 6)
Run Code Online (Sandbox Code Playgroud)

这使得 9 个数字看起来非常像这样:

在时间 = t 时与一些恒星叠加的通量图

但我需要很多,所以我想制作一个包含 9 个看起来像图像的子图的图像。

选项 2:

fig = plt.figure(figsize = (10,8)) 

for i in range(9):
    t …
Run Code Online (Sandbox Code Playgroud)

axes healpy

4
推荐指数
1
解决办法
4472
查看次数

标签 统计

axes ×1

healpy ×1