как разместить colorlegend (corrplot) на графике


Я использую corrplot для создания корреляционной тепловой карты, но мне не нравится легенда по умолчанию - она слишком большая. Поэтому я пытался использовать colorlegend(), чтобы добавить легенду после создания сюжета (и отключить легенду по умолчанию с помощью cl.pos="n").

Единственная проблема заключается в том, что я не могу понять, как изменить положение легенды - она заканчивается в левом нижнем углу. В идеале я мог бы поместить его в правом верхнем углу, но я просмотрел варианты colorlegend и plot и не могу понять этого.

Для пример:

# load libraries and create color scale
library(corrplot)
library(RColorBrewer)
scalebluered <- colorRampPalette(brewer.pal(8, "RdBu"))(8)

# get data into correlation matrix
data(mtcars)
cars.matrix <- as.matrix(mtcars[c(2:8)])
cars.corr <- cor(cars.matrix)

# plot it
corrplot(cars.corr, method="shade", shade.col=NA, tl.col="black", 
         tl.srt=45, addgrid.col="black", type="lower", diag=FALSE, cl.pos="n")

# add legend
colorlegend(scalebluered, c(seq(-1,1,.25)), align="l", vertical=TRUE, addlabels=TRUE)

Вывод: http://i42.tinypic.com/14wsqc0.png

2 3

2 ответа:

Несколько месяцев спустя я снова возвращаюсь к этому и выясняю это.. просто добавьте xlim и ylim, чтобы определить размеры легенды.. очень просто!

colorlegend(xlim=c(10,15), ylim=c(10,15), scalebluered, c(seq(-1,1,.25)), align="l", vertical=TRUE, addlabels=TRUE)

Вот так? изменение cl.pos="n" to "r"

corrplot(cars.corr, method="shade", shade.col=NA, tl.col="black", 
         tl.srt=45, addgrid.col="black", type="lower", diag=FALSE, cl.pos="r")