Я отвечаю, основываясь на следующих предположениях:
- Вы используете пакет
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
.