Я только что получил крестик этот хороший код , который делает этот матричный график рассеяния:
альтернативный текст http://addictedtor.free.fr/graphiques/graphiques/graph_137.png
И хотел реализовать его в масштабе Ликретапеременные (целые числа от 1 до 5), из-за которых размеры / цвета точки (в нижнем треугольнике) различаются в зависимости от количества параметров этого типа (например, эффекта, который мог бы дать мне дрожание).
Любойидея о том, как это сделать на базовом механизме построения графиков?
Обновление:
Я сделал следующую функцию, но не знаю, как сделать так, чтобы масштаб точек всегда был "хорошим"что вы думаете?
panel.smooth2 <- function (x, y, col = par("col"), bg = NA, pch = par("pch"),
cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...)
{
require(reshape)
z <- merge(data.frame(x,y), melt(table(x ,y)),sort =F)$value
z <- z/ (4*max(z))
symbols( x, y, circles = z,#rep(0.1, length(x)), #sample(1:2, length(x), replace = T) ,
inches=F, bg="blue", fg = bg, add = T)
# points(x, y, pch = pch, col = col, bg = bg, cex = cex)
ok <- is.finite(x) & is.finite(y)
if (any(ok))
lines(stats::lowess(x[ok], y[ok], f = span, iter = iter),
col = col.smooth, ...)
}
a1 <- sample(1:5, 100, replace = T)
a2 <- sample(1:5, 100, replace = T)
a3 <- sample(1:5, 100, replace = T)
aa <- data.frame(a1,a2,a3)
pairs(aa , lower.panel=panel.smooth2)