更改corrplot.mixed中的文本颜色

And*_*son 3 r r-corrplot

在r包中corrplot,您可以在相关矩阵的下半部分和上半部分混合图形类型以形成良好的视觉效果.我想在矩阵的下半部分有数字,在矩阵的上半部分有椭圆 - 这一切都很好.但是,根据我的数据,我无法看到一些相关数字,因为它们接近0.下面是我正在使用的代码和当前输出.

有没有办法改变矩阵下半部分的文字颜色?我想将相关系数的颜色改为不是白色(它们不需要是红色到蓝色,黑色就可以了).

#Saves the correlation matrix for reproducibility
#The matrix was modified based on the answer here: http://stackoverflow.com/a/36893890/5623577
cormatx <- structure(c(1, 0.480473436029381, 0.727971392165508, 0.0755790813842022, 
0.647226624978262, 0.706156814758194, 0.73971915882987, 0.073024457099958, 
0.480473436029381, 1, 0.540515552878261, 0.106196818240067, 0.505171500429873, 
0.480694458288349, 0.538693541543583, 0.158300667842954, 0.727971392165508, 
0.540515552878261, 1, 0.111168537597397, 0.587432598932939, 0.673406541830384, 
0.724533755640279, 0.139232852746538, 0.0755790813842022, 0.106196818240067, 
0.111168537597397, 1, -0.0844917222701804, 0.0382605955575862, 
-0.00462812019681349, 0.000406894700952559, 0.647226624978262, 
0.505171500429873, 0.587432598932939, -0.0844917222701804, 1, 
0.668544141384562, 0.761303240927891, 0.152127182963817, 0.706156814758194, 
0.480694458288349, 0.673406541830384, 0.0382605955575862, 0.668544141384562, 
1, 0.772678948045676, 0.119611111043454, 0.73971915882987, 0.538693541543583, 
0.724533755640279, -0.00462812019681349, 0.761303240927891, 0.772678948045676, 
1, 0.174453831824302, 0.073024457099958, 0.158300667842954, 0.139232852746538, 
0.000406894700952559, 0.152127182963817, 0.119611111043454, 0.174453831824302, 
1), .Dim = c(8L, 8L), .Dimnames = list(c("A. SAT Critical Reading", 
"B. SAT Mathematics", "C. SAT Writing Multiple Choice", "D. SAT Essay", 
"E. TOEFL Listening Comprehension", "F. TOEFL Structure and Written Expression", 
"G. TOEFL Reading Comprehension", "H. TOEFL Test of Written English"
), c("A", "B", "C", "D", "E", "F", "G", "H")))

#Creates the corrplot
corrplot.mixed(cormatx, upper = "ellipse", lower = "number",
               tl.pos = "lt", tl.col = "black", tl.offset=1, tl.srt = 0)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

mat*_*fee 7

他们有一个埋藏的例子?corrplot(它在"圆圈+黑色数字"下).看起来你必须调用corrplot两次:一次先绘制椭圆(彩色),然后再分别绘制系数(指定颜色=黑色),因为如果col="black"在corrplot.mixed椭圆中指定也会是黑色.

此外,如果你看一下corrplot.mixed代码,你可以看到它传递相同...于上,下通话,这就是为什么特别指定,例如colour="black"为corrplot.mixed将吸引你的两个椭圆和黑色文字,而不仅仅是文字.

即

# draw ellipses + decorations
corrplot(cormatx, type="upper", method="ellipse",
         tl.pos="lt", tl.col="black",  tl.offset=1, tl.srt=0)
# draw labels in black (disabling all the other stuff already drawn)
corrplot(cormatx, add=T, type="lower", method="number",
         col="black", diag=F, tl.pos="n", cl.pos="n")
# if you don't like the lines on the diagonal, (ie diag="n" of corrplot.mixed),
#  having a look at corrplot.mixed yields the following code:
n <- nrow(cormatx)
symbols(1:n, n:1, add=TRUE, bg="white", fg="grey", inches=F, squares=rep(1, n))
Run Code Online (Sandbox Code Playgroud)

这有点痛苦.基本上你是在实现corrplot.mixed自己,唯一的区别是你可以将单独的额外参数传递给上层和下层(corrplot.mixed不能).