Python 3.x healpy:格式化子批
我想用healpy在一个图中绘制多个子图。如何:Python 3.x healpy:格式化子批,python-3.x,matplotlib,healpy,Python 3.x,Matplotlib,Healpy,我想用healpy在一个图中绘制多个子图。如何: 设置颜色栏的位置 设置colorbar的刻度和刻度标签 设置子批次的位置和大小 我想生成一个图,如图1所示,它是基于一般坐标在MATLAB中绘制的 现在,我仅使用healpy将其绘制如下: 生成图3(类似于图2)的类似代码如下: import numpy as np import healpy as hp degree = 4 nside = 2**degree num_Pixel = hp.nside2npix(nside) m = n
import numpy as np
import healpy as hp
degree = 4
nside = 2**degree
num_Pixel = hp.nside2npix(nside)
m = np.arange(num_Pixel)
margins = [[0.02,0,0,0],[0.01,0,0,0],[0.01,0,0.01,0],
[0.02,0,0,0],[0.01,0,0,0],[0.01,0,0.01,0],
[0.02,0.05,0,0],[0.01,0.05,0,0],[0.01,0.05,0.01,0]]
title = [
'Equinox', 'Jun. Solstice', 'Dec. Solstice',
'','','','','','']
for ifig in range(1,10):
if ifig < 7:
hp.cartview(
m, sub=330+ifig, margins=margins[ifig1],
cbar=False, title=title[ifig-1])
else:
hp.cartview(
m, sub=330+ifig, margins=margins[ifig-1],
cbar=True, title=title[ifig-1])
将numpy导入为np
将healpy导入为hp
度=4
nside=2**度
num_Pixel=hp.nside2npix(nside)
m=np.arange(像素数)
利润率=[[0.02,0,0,0],[0.01,0,0,0],[0.01,0,0.01,0],
[0.02,0,0,0],[0.01,0,0,0],[0.01,0,0.01,0],
[0.02,0.05,0,0],[0.01,0.05,0,0],[0.01,0.05,0.01,0]]
标题=[
“春分”、“六月至”、“十二月至”,
'','','','','','']
对于范围(1,10)内的ifig:
如果ifig<7:
hp.cartview(
m、 sub=330+ifig,边距=边距[ifig1],
cbar=False,title=title[ifig-1])
其他:
hp.cartview(
m、 sub=330+ifig,边距=边距[ifig-1],
cbar=True,title=title[ifig-1])
生成图3的代码我担心,
healpy
没有一个很好的方法来处理色条、记号、标签、轴等
最好的方法是根据您的HEALPix地图生成FITS图像(例如,使用hp.cartview(…,return\u projected\u map=True)
或使用软件包)
您还需要为此生成合适的FITS标题,astropy
将是合适的工具()
一旦具备了这一点,您就可以在astropy
中使用出色的框架,它为您提供了大量有文档记录的定制选项