Как добавить цветовую гамму в R? - PullRequest
0 голосов
/ 06 апреля 2019

Я следовал инструкциям на этом сайте от r2evans для построения матриц корреляции и коррелограмм в R. Сайт и примеры действительно хороши. Однако я хотел бы добавить цветовую шкалу для верхней части матрицы корреляции.

Вот код:

colorRange <- c('#69091e','#e37f65','white','#aed2e6','#042f60')
myColorRampFunc <- colorRamp(colorRange)
panel.cor <- function(w,z,...){
    correlation <-cor(w,z)
    col <- rgb(myColorRampFunc((1+correlation)/2)/255)
    radius <- sqrt(abs(correlation))
    radians <- seq(0,2*pi,len = 50)
    x <- radius * cos(radians)
    y <- radius * sin(radians)
    x <- c(x,tail(x,n = 1))
    y <- c(y,tail(y,n = 1))
    par(new = TRUE)
    plot(2,tyoe = 'n',xlim = c(-1,1),ylim = c(-1,1),axes = FALSE,asp = 1)
    polygon(x,y,border = col,col = col)
    usr <- par("usr"); on.exit(par(usr)) 
    par(usr = c(0, 1, 0, 1)) 
    r <- cor.test(w, z)$p.value
    txt <- format(c(r, 0.123456789), digits = 2)[1] 
    text(0.5, 0.5, txt, cex = 1.5) 
}
panel.lm <- function(w,z,col=par('col'),bg = NA,pch = par('pch'),cex = 1,col.smooth = 'black',...){
    points(w,z,pch = pch,col = col,bg = bg,cex = cex)
    abline(stats::lm(z~w),col = col.smooth,...)
}
pairs(mtcars,upper.panel = panel.cor,lower.panel = panel.lm)

Вот результат, который я получил:

Picture1

Я хочу добавить цветовую шкалу, например:

Picture2

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...