Я работаю с некоторыми данными сетки, и у меня возникают проблемы с работой с дискретными расходящимися шкалами. В частности, как установить среднюю точку, чтобы она не находилась в центре диапазона. Это воспроизводимый пример, чтобы получить то, что я имею в виду:Средняя точка дискретного расходящегося масштаба в ggplot2
library(ggplot2)
grid <- expand.grid(lon = seq(0, 360, by = 2), lat = seq(-90, 0, by = 2))
grid$z <- with(grid, cos(lat*pi/180) - .7)
ggplot(grid, aes(lon, lat)) +
geom_raster(aes(fill = cut_width(z, .1))) +
scale_fill_brewer(palette = "RdBu")
Здесь, в центре шкалы не разрыв между положительными и отрицательными значениями. Я знаю, что могу использовать непрерывный масштаб, но я считаю, что с меньшим количеством цветов помогает то, что я пытаюсь показать.
Есть ли способ сдвинуть среднюю точку в дискретном масштабе? Также приветствуются другие альтернативы, которые достигают такого же результата.
Я полагал, что я должен был сделать что-то подобное. Благодарю. Теперь я пытаюсь использовать расширенную палитру (поскольку на моем реальном сюжете мне нужно больше, чем 11 цветов, предлагаемых пивоваром), и проблема в том, что в нем нет легенды 'ggplot (сетка, aes (долгота, широта)) + geom_raster (АЕС (заполняющая = покрой (г, порезы))) + scale_fill_manual (палитра = div_pal, имя = "Z", scale_name = "г", падение = F) ' –
Обычно 'scale _ * _ manual' принимает аргумент' values', а не 'palette'. Что такое 'div_pal'? Является ли это функцией или вектором цветов? –
Это функция, сделанная с помощью colorRampPalette, чтобы расширить масштаб RdBu от цветного пивовара: 'div_pal <- colorRampPalette (пивовар.pal (name = "RdBu", n = 11)) ' –