R - Как установить диапазон цветовой шкалы в гексбине

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

Пример:

library(lattice)
library(hexbin)
splom(cbind(rnorm(10000),rnorm(10000),rnorm(100),rnorm(100)), 
      ,varnames = c("A","B","C","D")
      ,panel = panel.hexbinplot
      ,lower.panel = function(x, y, ...) {
          panel.fill(col = brewer.pal(9, "Greys")[ round(cor(x, y,method =  "spearman") * 4 + 2)])
      cpl <- current.panel.limits()
      panel.text(mean(cpl$xlim), mean(cpl$ylim), round(cor(x, y,method = "spearman"),2), font=2)
  }
  ,upper.panel = function(x, y, ...){
      panel.hexbinplot(x, y, type = "r", xbins = 10, ...)
  }
  ,pscale=0, varname.cex=1, xlab = ""
)

Мне кажется, что шкала цветов, т. Е. Какой счет относится к какому цвету, пересчитывается на каждом из 6 графиков с шестигранными. Это не имеет значения здесь, но это делает в моих данных. Как я могу установить все это в ОДНОМ масштабе, что означает, что шестиугольник с 25 счетами имеет одинаковый цвет на всех 6 графиках, независимо от того, является ли максимальное количество на графике 25 или 150.

Заранее большое спасибо.

0 ответов

Может быть, слишком поздно, но если у кого-то еще возникнет такой же вопрос... Попробуйте использовать аргумент maxcnt, у меня это сработало с использованием пакета Opeanair. Я создал 4 графика, и у каждого из них одинаковая цветовая шкала: шестиугольники с одинаковым числом отсчетов имеют одинаковый цвет.

Другие вопросы по тегам