Цель: У меня есть скорректированный график pairs
в R
, и я хотел бы добавить к нему цветовой ключ.Фоны панели на графике pairs
показывают определенные цвета, определенные из матрицы чисел.Я хотел бы иметь цветную клавишу справа от графика pairs
, которая показывает эти цвета и некоторые метки, обозначающие цифры.
Я нашел несколько способов, как добавить цветовые ключи на image()
графиков (например, image.plot
в пакете fields
; colorbar
в пакете matlab
; color.legend
в plotrix
пакет).Итак, в принципе, я хотел бы сделать что-то подобное для моего скорректированного pairs
сюжета.Тем не менее, у меня уже возникли проблемы с резервированием некоторого пространства для цветового ключа, на который будет нанесен график (можно [или даже должно ?] Это сделать с помощью grid
?).
Вот минимальный пример pairs
графика с цветным фоном.Я также попытался адаптировать пример color.legend
в plotrix
, но это более или менее бессмысленно на данный момент.Есть идеи, как сделать это элегантно / гибко?
count <- 0
color <- c("yellow", "orange", "red", "lightgreen", "darkgreen", "cyan", "lightblue",
"darkblue", "brown", "gray", "transparent", "transparent")
mypanel <- function(x, y, ...){
count <<- count+1
bg <- color[count]
ll <- par("usr")
rect(ll[1], ll[3], ll[2], ll[4], col=bg)
points(x, y, cex=0.5)
}
U <- matrix(runif(4*500), ncol=4)
## require(plotrix)
## par(mar=c(7,4,4,14)) # (bottom, left, top, right)
pairs(U, panel=mypanel, gap=0)
## color.legend(xl=10.2, yb=2, xr=11, yt=5,
## legend=c("bright","normal","dark"), rect.col=color, align="rb",
## gradient="y")
Информация: Выбранные выше цвета определяются из чисел (вектор одинаковой длины).Все числа находятся в диапазоне от 0 до 1, и 0 (1) соответствует наиболее темному (самому яркому) цвету.Эти числа должны затем определять тики и цифры, напечатанные на цветовой клавише (мне не нужны фактические текстовые метки - я просто попробовал это, поскольку в примере color.legend
его использовали).Таким образом, вектор чисел для colors
выше может быть c(0.95, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 1, 1)
(чем больше число, тем ярче столбец).Чтобы быть более точным: эти значения являются p-значениями, определенными с помощью тестов на пригодность для каждой пары, и темный цвет должен указывать на небольшие p-значения.Действительно, цвета не настолько равномерно распределены, я использую только некоторые цвета выше уровня значимости (например) 0,05, а большинство цветов ниже 0,05, поэтому можно сразу увидеть, какие тесты приводят к отклонению.