Я использую R lattice()
для создания трехмерного каркасного графика. Цветовая гамма поверхности варьируется от -0,6 до +0,2. Я создал сине-бело-красную схему градиента цвета:
bwr.colors <- colorRampPalette(c("blue, "white", "red"))
и создаю сюжет примерно так:
gca_plot <- wireframe(dev ~ col*row, data=gca,
xlab = "col",
xlim = c(1, 24),
ylab = "row",
ylim = c(9, -6),
zlim=c(-0.6, 0.2),
main = "GCA",
drape = TRUE,
colorkey = TRUE,
at=do.breaks(c(-0.6,0.2),100),
scales = list(arrows=FALSE,cex=.5, tick.number = 10, z = list(arrows=F), distance =c(1.5, 1.5, 1.5)),
col.regions = bwr.colors(100),
screen = list(z = 30, x = -60))
Проблема в том, что я бы хотел, чтобы центральный цвет (белый) был на нуле, поскольку это график отклонения. Я хочу красные значения> 0 и синий <0. </p>
Я знаю, что увеличение масштаба от -0,6 до +0,6 решило бы эту проблему, но это заняло бы слишком малую часть оси z. Я также знаю, что функция scale_colour_gradient2()
может достичь того, что я хочу (она позволяет вам установить значение средней точки), но это функция ggplot2()
, и я в lattice()
, поскольку ggplot2()
не выполняет 3- Такие поверхности D (если я что-то пропустил).
Вот как выглядит мой сюжет. Он запроектирован в углу рамки - это поле размером 13x9, которое будет сравниваться с другим графиком, содержащим поле размером 24x16.