我正在尝试使用一列包含一列这样的corrPlot
library(corrplot)
mc <- cor(mtcars,mtcars["mpg"])
corrplot(mc, method = "circle")
但是当我这样做时,颜色图例没有这样的宽度: 1columnCorrPlot
您可以在右侧看到图例的标签,但图例的颜色栏只是在corrplot右边框上的一条线。
我尝试使用cl.ratio =
进行调整,但是当只有一列时我没有效果(当有多列时确实有效)。
有没有人知道实现这个目标的方法?
谢谢,
格伦
答案 0 :(得分:1)
查看使用fix(corrplot)
可以执行的corrplot代码,您会注意到cl.ratio
始终乘以变量mm
来定义xlim
,例如xlim <- c(m1 - 0.5 - xlabwidth, m2 + 0.5 + mm * cl.ratio * (cl.pos == "r"))
和mm
的计算方法是:
m2 <- max(Pos[, 1])
m1 <- min(Pos[, 1])
mm <- m2 - m1
在1列情况下导致mm=0
。您可以将corrplot
函数保存到另一个文件(例如mycorrplot.r
)并将函数命名为mycorrplot()
来验证这一点。在mm <- m2 - m1
cat("Before:",mm,"\n")
mm <- 1
cat("After:",mm,"\n")
基本上,将mm=0
更改为mm=1
。完成后,执行:
source("mycorrplot.r")
mycorrplot(mc, method = "circle", cl.ratio=1)
这只是一个黑客,你应该让corrplot
维护者知道这个问题。
[https://github.com/taiyun/corrplot]
另一种选择是绘制自己的颜色图例:请参阅how to place colorlegend (corrplot) in graphic
答案 1 :(得分:0)
您好,感谢错误报告。 我刚刚在Github的问题跟踪器中关闭了这个问题: https://github.com/taiyun/corrplot/issues/19