R Corrplot:更改列文本标签的颜色,但不更改行文本标签

问题描述 投票:1回答:1

我正在使用corrplot函数在4个变量和12个变量上创建β系数的可视化。下面是我到目前为止使用的代码:

library(corrplot)
corrplot(beta_m, is.corr=FALSE, method="square", 
     tl.srt=65, tl.cex=0.95, number.cex=0.8, tl.col='black', cl.length 
= 5, cl.align="l")

这是它来自的数据:

beta_m<-structure(c(0, 0, -0.584090272222348, 0, 0, 0.11291756016558, 
-0.435893170100887, 0, 0, 0, -0.460227704153223, 0, 0, 
0.222130737988377, 
0, 0.0974747494000928, 0, 0.117470450053172, -0.723935606930726, 
0, -0.308146541461676, 0, 0, 0, 0, 0.153128826514138, 0, 0, 0, 
0, -0.360425453158442, 0, 0, 0, -0.508415520561608, 0, 
-0.303599419688516, 
0, 0, 0, 0, 0, -0.551430826126704, 0, 0, 0, 0, 0), .Dim = c(4L, 
12L), .Dimnames = list(c("Sex: Female", "Age", "IM: MVA", "LOC 
duration: < 5 min"
), c("PDGF", "$ paste(MIP-1,beta)", "$ paste(TNF,-alpha)", "IP-10", 
"Eotaxin", "FGF-basic", "IL-1ra", "IL-9", "MCP-1", "IL-17A", 
"IL-8", "$ paste(IFN,gamma)")))

这就是它目前的样子:

我需要的是一些列标签(顶部的12个标签)是不同的颜色,而4行标签保持黑色。 tl.col参数更改行标签颜色和列标签颜色。

编辑:如果某些列标签为粗体而其他列标签不是,则也可以使用。

r plot r-corrplot
1个回答
0
投票

一个解决方案是这样的:

  1. 将所有标签转换为tl.col="red"绘制图片。
  2. beta_m中删除要保留红色的列的列名称。
  3. 使用tl.col="black"在顶部添加第二张图片。

这是一个演示:

corrplot(beta_m, is.corr=FALSE, method="square", tl.srt=65, tl.cex=0.95, number.cex=0.8,
         tl.col='red', cl.length = 5, cl.align="l")

colnames(beta_m)[5:7] <- ""

corrplot(beta_m, is.corr=FALSE, method="square", tl.srt=65, tl.cex=0.95, number.cex=0.8,
         tl.col='black', cl.length = 5, cl.align="l", add=TRUE)

结果如下:

result

© www.soinside.com 2019 - 2024. All rights reserved.