Как я могу создавать растровые графики с той же цветовой шкалой в R

Я создаю некоторые карты из растровых файлов с помощью пакета "raster" в R. Я хотел бы создать сравнительные растры, показывающие несколько карт рядом. Для этого важно, чтобы используемые цветовые шкалы были одинаковыми для всех карт, независимо от значений на каждой карте. Например, если карта 1 имеет значения от 0 до 1, а карта 2 имеет значения от 0 до 0,5, ячейки со значением 0,5 должны иметь одинаковый цвет на обеих картах.

Например:

  • карта 1 имеет значения от 0 до 1
  • карта 2 имеет значения от 0 до 0,5
  • цвет меняется с красного (самый низкий) на зеленый (самый высокий)

Я бы хотел значение 0,5, чтобы иметь один и тот же цвет на обеих картах (т.е. желтый, на полпути между красным и зеленым). В настоящее время он желтый на карте 1 и зеленый на карте 2.

Я не могу найти способ заставить эту работу работать. Я не вижу способа установить диапазон значений пикселей для использования с функцией построения графика. setMinMax () не помогает (поскольку «график» всегда вычисляет значения). Даже попытка установить значения вручную (например, 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) ) 
18
задан mo-seph 30 November 2010 в 18:59
поделиться