2

我正在尝试用 healpy 绘制 3 个 numpy 数组。其中两个对应于角度位置theta和phi,另一个是温度。我已经使用了上一个答案中的信息:Plotting a numpy array in healpy来做到这一点,我做了如下:

    NSIDE = 512
    m_sm = numpy.arange(healpy.nside2npix(NSIDE) ) 
    m_sm = m_sm*0.                                               
    indx = healpy.pixelfunc.ang2pix(NSIDE, theta, phi, lonlat=False) 
    m_sm[indx] = Temp

Where theta, phiandTemp是我的数组(每个都有近 100 万个元素,但看起来与这条线没有不兼容m_sm[indx] = Temp)。然后,我使用以下方式进行投影mollview

    gmap=healpy.smoothing(m_sm, sigma=numpy.radians(0.3),verbose=False) 
    cmap = cm.get_cmap('RdBu_r')
    cmap.set_under('w')
    healpy.mollview(gmap, title=ur"$T(\mathbf{x})$ for Reconstruction 1", 
            unit=ur"$T(\mathbf{x})$", nest=False, min=gmap.min(), 
            max=gmap.max(), remove_dip=False, cmap = cmap, 
            coord=['C','G'])

但是我得到了以下地图,其中有一条奇怪的白线图案穿过所有地图。

银河坐标中的温度图,带有奇怪的白线图案

即使NSIDE = 256我获得了相同的模式。我不知道这是否可能是因为我正在使用立方体网格,并且对于网格的每个单元格,我从笛卡尔位置计算相对于盒子中心的角度位置。我能做些什么?或者我的代码有什么问题?提前致谢。

4

0 回答 0