2

Matplotlib カラーバーの使用に問題があります。おそらく、ドキュメント (私は英語のネイティブ スピーカーではありません) またはそのコア コンセプトを理解していません。

データの行列 (形状、N*2) があるとします。このデータの散布図を作成し、ラベル (N*1) の列に基づいて配色を float で追加したいと考えています。colorbar と scalarmappable の使い方を知っています。

しかし、このラベル列のピボット値に興味があり、これらの値をカラーバーの興味深い位置に表示したいと考えています。たとえば、ラベル値 0 を 1/3 の場所または中央に配置したいと考えています。これは、選択したカラーバーで白または灰色になる可能性があります。

しかし、私が正しく理解していれば、カラーバーは [min, max] の元のデータから [0, 1] にマップされたデータ配列のみを取得します。この場合、私が関心のあるピボット値は、正規化関数を非常に慎重に定義しない限り、どこかでランダムになります。

したがって、ピボット値に好む白い色をカラーバーの中央に配置するには、データを正規化するだけでなく、ピボット値を 0.5 の位置にする正規化関数を定義する必要があります。

私の限られた Matplotlib の経験では、これが私が知っている解決策です。

理想的には、float データの列があるとします。ピボット値を選択して、特別な位置を与えることができます。そして、それらを正規化し、カラーマップに渡します。ただし、カラーバーでは、以前に定義した特別な位置に特別な色を設定できました。そして、私の特別なピボット値を示す、右の目盛りロケーターと目盛りラベルを持つ対応するカラーバーを取得します。

これを達成するために使用できる(標準ライブラリからの)より簡単な方法を探しています。

4

1 に答える 1