我想對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