Healpy.mollview で他のカラーマップを使用しようとしています このコードで成功しました
from healpy import mollview
from pylab import arange, show, cm
m = arange(768)
mollview(m, cmap=cm.bwr)
show()
しかし、予期しない青い背景が表示され、それを白に設定する方法がありません
Healpy.mollview で他のカラーマップを使用しようとしています このコードで成功しました
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
を設定する必要があります。githubの関連する関数を次に示します。over
under
bad
healpy
cmap=cm.bwr
cmap.set_over(cmap(1.0))
cmap.set_under('w')
cmap.set_bad('gray')
更新~/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()
あなたが見ているのは、予想外の背景色ではありません。使用するカラーマップにより、プロットの最小値が青く表示されます。あなたの周りの丸いものはゼロに見えるので、これは図では青く見えます。ゼロで白のカラーマップを使用してみてください。