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

时间:2018-09-04 15:03:11

标签: r plot r-corrplot

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

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)")))

这是当前的样子: Corrplot Output

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

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

1 个答案:

答案 0 :(得分: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