1. ホーム
  2. python

[解決済み] matplotlib でカラーマップの中点を定義する

2022-11-10 18:04:22

質問

カラーマップの中点を設定したいのですが、例えば、データが-5から10まであり、0を中点にしたいのです。normalizeのサブクラスでnormを使用する方法があると思うのですが、例がなく、具体的に何を実装すればよいのかがわかりません。

どのように解決するのですか?

matplotlib バージョン 3.2 以上では 2SlopeNorm クラスが追加されました。これは、あなたの用途をカバーしていると思います。 このように使うことができます。

from matplotlib import colors
divnorm=colors.TwoSlopeNorm(vmin=-5., vcenter=0., vmax=10)
pcolormesh(your_data, cmap="coolwarm", norm=divnorm)

matplotlib 3.1 では、このクラスは DivergingNorm .