2011-12-16 3 views
2

Iは、以下のカラーマップ有する:既定の正規化を使用する意味がない、カラーマップは、範囲内のデータをベースにしているので[-2.0、2.0]Matplotlib:カラーマップは異なるデフォルトの正規化を暗示できますか?

import matplotlib.pyplot as plt 
from matplotlib.colors import LinearSegmentedColormap, NoNorm 

mycmap_dict = { 
    'red': (
      (-2.0, 1.0, 1.0), 
      (-1.0, 0.0, 1.0), 
      (0.0, 0.0, 0.0), 
      (1.0, 1.0, 0.0), 
      (2.0, 1.0, 1.0), 
     ), 

    'green': (
      (-1.0, 0.0, 1.0), 
      (0.0, 0.0, 0.0), 
      (1.0, 1.0, 1.0), 
      (2.0, 0.0, 0.0), 
     ), 

    'blue': (
      (-2.0, 0.0, 0.0), 
      (-1.0, 1.0, 1.0), 
      (0.0, 0.0, 0.0), 
      (1.0, 0.0, 1.0), 
     ) 
    } 

my_cmap = LinearSegmentedColormap('my', mycmap_dict) 
plt.register_cmap(cmap=my_cmap) 

my_norm = NoNorm() 

をよりむしろ[0.0、1.0] 。私は "my_cmapを使用するときにデフォルトでmy_normを使用する"と言うことができるようにしたいと思います - これは可能ですか?

答えて

0

私は短い答えは怖い:カスタムカラーマップとnormalisationsの間で最良のinterpolabilityについては第

、私は強くルールに固執することをお勧めしたい:

  • ノームがかかります時々Y - データと変換するこのルールには例外があり*

値0-1 *

  • にCMAPは範囲0~1内にフロートを取り、RGBAに変換しますインデックスをカラーマップに入れたいので、ノルムがバイトを返し、カラーマップのインデックスで色にアクセスするために使用されるケースがあると思います。

    申し訳ありませんでした:-)

  • 関連する問題