我想对healpy.mollview 使用别人的colormaps我succeded与此代码mollview:使用matplotlib颜色表并更改背景颜色
from healpy import mollview
from pylab import arange, show, cm
m = arange(768)
mollview(m, cmap=cm.bwr)
show()
,但我得到一个意外的蓝色背景,有没有办法,我可以将其设置为白色
我想对healpy.mollview 使用别人的colormaps我succeded与此代码mollview:使用matplotlib颜色表并更改背景颜色
from healpy import mollview
from pylab import arange, show, cm
m = arange(768)
mollview(m, cmap=cm.bwr)
show()
,但我得到一个意外的蓝色背景,有没有办法,我可以将其设置为白色
healpy
似乎对其默认颜色映射进行了修改,以更改颜色超出范围时发生的情况。所以,我们需要在cm.bwr
到healpy
之前也这样做。我们可以通过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
,under
和bad
值。这里是healpy
github的relevant function。
cmap=cm.bwr
cmap.set_over(cmap(1.0))
cmap.set_under('w')
cmap.set_bad('gray')
你看到的是不是一个意外的背景色。您使用的颜色映射使您的绘图中的最低值显示为蓝色。由于你身边的东西圆形的东西似乎是零,这在图中显示为蓝色。尝试使用白色为零的colormap。
投影周围的面积不为零。如果你将鼠标悬停在那里,只显示一个空值列表[[]',其值通常是。您可以通过更改'set_under'值来解决此问题,而不是将自己限制为以白色开始的颜色映射。以我的答案为例。 – tom