如何在R corrplot的色阶中使用非均匀断点并自定义色条标注
corrplot色阶自定义配置方案
- 非均匀断点设置:直接使用
breaks参数传入自定义的断点向量即可,向量长度需要比你使用的颜色数量多1。设置该参数后会自动覆盖默认的均匀断点规则,无需额外调整cl.lim参数。 - 自定义色阶标签:使用
cl.labels参数传入你想要显示的文本向量,长度和断点向量长度一致即可替换默认的数值标签。 - 调整标签位置:通过
cl.offset参数调整标签和色条的距离,数值越大距离越远;还可以通过cl.align参数调整标签对齐方式,可选值为"l"(左对齐)、"c"(居中)、"r"(右对齐);如需调整色条整体位置可使用cl.pos参数,可选值为"r"(右侧,默认)、"l"(左侧)、"b"(底部)、"t"(顶部)。
完整示例代码
library(RColorBrewer) library(corrplot) # 固定随机种子方便结果复现 set.seed(123) M <- matrix(runif(25,min=-1,max=1),nrow=5) # 自定义断点:7个断点对应6个颜色区间,包含你需要的0.2、0.8两个断点 my_breaks <- c(-1, -0.6, -0.2, 0, 0.2, 0.8, 1) # 自定义标签,可根据需求修改,长度和断点数量一致 my_labels <- c("极低", "偏低", "略低", "中等", "略高", "偏高", "极高") corrplot(M, is.corr = FALSE, col = brewer.pal(n = 6, name = "RdBu"), breaks = my_breaks, cl.labels = my_labels, cl.offset = 1.5, # 调整标签和色条的距离 cl.align = "l") # 标签左对齐
如果不需要自定义标签,删除cl.labels参数即可默认显示断点对应的数值。
内容的提问来源于stack exchange,提问作者pariston_hill
相关产品推荐
相关产品推荐

