4

I'm trying to use others colormaps on healpy.mollview I succeded with this code

from healpy import mollview
from pylab import arange, show, cm
m = arange(768)
mollview(m, cmap=cm.bwr)
show()

but I get an unexpected blue background and there is no way I can set it to white

4

3 回答 3

7

healpy似乎对其默认颜色图进行了修改,以更改颜色超出范围时发生的情况。所以,我们需要在cm.bwrhealpy. 我们可以这样做cmap.set_under('w')将颜色设置为白色。

这对我来说似乎是一个错误healpy,因为这会影响您尝试使用的大多数颜色图。

from healpy import mollview,cartview
from pylab import arange, show, cm

cmap = cm.bwr
cmap.set_under('w')

m = arange(768)
mollview(m, cmap=cmap)
show()

在此处输入图像描述

为了完全模仿healpy它的默认颜色图(它使用jet),我们需要设置over,underbad值。这是来自github的相关功能。healpy

cmap=cm.bwr
cmap.set_over(cmap(1.0))
cmap.set_under('w')
cmap.set_bad('gray')
于 2015-12-01T16:17:01.337 回答
0

更新~/anaconda3/lib/python3.7/site-packages/healpy/projaxes.py

全部替换newcm.set_bad("gray")newcm.set_bad((1, 1, 1, 1)).

在下面的示例中,我对其进行了更新newcm.set_bad((0, 0, 0, .9))以突出显示它的工作原理。

@tmdavison 的答案不适用于自定义规范化功能。但是上面的编辑会。

from healpy import mollview
from pylab import arange, show, cm, Normalize
m = arange(768)

mollview(m, cmap=cm.bwr, norm=Normalize(vmin=0, vmax=768))
show()

在此处输入图像描述

于 2019-10-25T00:26:08.087 回答
0

您所看到的并不是意外的背景颜色。您使用的颜色图使图中的最小值显示为蓝色。由于您周围的圆形事物似乎为零,因此在图中显示为蓝色。尝试使用在零处为白色的颜色图。

于 2015-12-01T15:42:07.817 回答