Построение белого для нулевого значения в R - PullRequest
0 голосов
/ 17 марта 2020

У меня растровый стек

class      : RasterStack 
dimensions : 47, 89, 4183, 6  (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5  (x, y)
extent     : 60.75, 105.25, 15.75, 39.25  (xmin, xmax, ymin, ymax)
crs        : NA 
names      :    VegC.1,   layer.1,    VegC.2,   layer.2,    VegC.3,   layer.3 
min values :   0.00000, -11.52596,   0.00000, -11.51896,   0.00000, -11.49996 
max values :  21.14100,  16.52118,  18.85200,  16.69225,  23.08900,  20.25300 

Я строю стек с той же цветовой схемой. Однако я хочу, чтобы значение 0 было белым. я использую цветовую схему

cols <- inlmisc::GetColors(scheme = "BuRd",n = 256)

Но график показывает синий цвет на нулевом значении. Есть ли простой способ исправить цветовую шкалу для растровых стеков?

1 Ответ

0 голосов
/ 18 марта 2020

Я отвечаю, основываясь на следующих предположениях:

  • Вы используете пакет raster
  • Вы используете функцию plot() пакета raster для генерации сюжет

(в следующий раз, пожалуйста, укажите и пакеты, и функции, которые вы используете, и даже лучше, предоставьте код с воспроизводимым примером - он не должен быть основан на ваших данных, просто небольшой набор данных, который вы можете использовать, чтобы показать вашу проблему)

В большинстве случаев ваш (очень естественно!) wi sh сопоставления нулевого значения с серединой palette - даже если данные не симметричны c вокруг нуля - выполняется с помощью параметра в функции построения графиков. Смотрите, например, этот пост о функции pheatmap(), где используется параметр breaks: Установите 0-точку для pheatmap в R

Тем не менее, из документации plot() функция пакета raster показывает, что он принимает параметр ..., который может принимать любой параметр, который принимается функцией image.plot() пакета fields, как указано в разделе Сведения plot() function:

Подробности
Большая часть кода для функции построения графика для одного объекта Raster * была взята из image.plot (пакета fields). ")

В документации по функции image.plot() пакета fields мы читаем:

разрывы Точки останова в отсортированном порядке, чтобы указать интервалы для назначения цветов. что при наличии уровней nlevel должны быть (nlevel + 1) точки останова. Если break не указан (nlevel + 1), создаются одинаково разнесенные разрывы, в которых первый и последний элементы имеют минимальные и максимальные средние точки m значений в z или в zlim

Вы можете прочитать ответ для Установить 0-точку для pheatmap в R о том, как установить разрывы так, чтобы значение 0 отображалось на середина выбранной вами цветовой палитры (т. е. белая).

Примечание: я не могу дать вам рабочий пример, потому что у меня не установлен пакет raster.

...