Rの「raster」パッケージを使用してラスターファイルからいくつかのマップを作成しています。いくつかのマップを並べて表示する比較ラスターを作成したいと思います。このために重要なのは、各マップの値に関係なく、使用されるカラースケールがすべてのマップで同じであるということです。たとえば、マップ1の値が0-1で、マップ2の値が0〜0.5の場合、値が0.5のセルは両方のマップで同じ色である必要があります。
例えば:
- マップ1の値は0から1です
- マップ2の値は0〜0.5です。
- 色は赤(最低)から緑(最高)に変わります
0.5の値を両方のマップで同じ色にします(つまり、赤と緑の中間の黄色)。現在の動作は、マップ1では黄色、マップ2では緑色です。
これを機能させる方法が見つかりません。プロット機能で使用するピクセル値の範囲を設定する方法がわかりません。setMinMax()は役に立ちません(「plot」は常に値を計算するため)。手作業で値を設定しようとしても(たとえば、g1 @ data @ max <-10)、機能しません(これらはプロット時に無視されます)。
最後に、マップのスタックを作成すること(すべてを同じカラースケールでプロットすると予想される場合があります)も機能しません。各マップには、独自のカラースケールがあります。
これを行う方法について何か考えはありますか?
編集:
私が使用することになった解決策は次のとおりです。
plot( d, col=rev( rainbow( 99, start=0,end=1 ) ), breaks=seq(min(minValue( d )),max(maxValue(d)),length.out=100) )