You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

corrRect在corrplot混合图中绘制矩形报错的解决方法咨询

解决corrRect在混合corrplot中报错的问题

报错原因

corrRect函数内部依赖corrplot返回对象的type属性(判断是upper/lower/full类型),但corrplot.mixed()生成的是上下混合的矩阵图,返回的对象中没有这个type属性,导致内部的if判断因type长度为0而抛出Error in if (type == "upper") { : argument is of length zero错误。

解决方案

调用corrRect时手动指定type参数,明确要绘制矩形的区域(upper对应上半部分、lower对应下半部分);如果需要同时给上下两部分添加矩形,可分别调用两次corrRect。

示例代码

library(corrplot)

# 计算mtcars数据集的相关矩阵
cor_mat <- cor(mtcars)

# 绘制混合相关矩阵图并保存绘图对象
p <- corrplot.mixed(cor_mat)

# 给上半部分的指定变量添加矩形
corrRect(p, name = c("mpg", "qsec", "carb"), type = "upper")

# 给下半部分的指定变量添加矩形
corrRect(p, name = c("mpg", "qsec", "carb"), type = "lower")

若仅需给某一部分添加矩形,只需保留对应type参数的调用行即可。

内容的提问来源于stack exchange,提问作者Schillerlocke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:55:35