如何在图形中放置colorlegend(corrplot)

时间:2013-11-04 17:46:43

标签: r legend heatmap correlation r-corrplot

我正在使用corrplot创建相关热图,但我不喜欢默认图例 - 它太大了。所以我在创建绘图后尝试使用colorlegend()添加图例(并使用cl.pos="n"禁用默认图例。)

唯一的问题是我无法弄清楚如何改变图例的位置 - 它最终会在左下方。理想情况下,我可以将它放在右上角,但我查看了colorlegend的选项并绘制了图表,但无法弄清楚这一点。

例如:

# 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 个答案:

答案 0 :(得分:2)

几个月后,我重新审视了这个并弄明白......只需添加xlim和ylim来定义图例的尺寸..超级简单!

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

答案 1 :(得分:0)

像这样?更改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")