如何更改 R 中 corrplot 中特定变量的字体颜色?

时间:2021-02-25 10:43:09

标签: r r-corrplot

如何更改特定于图像中某些变量的字体 tl.col 的颜色?

我之前必须创建一个变量吗?或者您可以在命令中选择列吗?

corrplot(cor(iris[,-5]), tl.col="black", tl.cex=0.8, tl.srt=70)

enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个:

library (corrplot)
library(MASS)
library(calibrate)
data("iris")

corrplot(cor(iris[,-5]), cl.pos = "n", tl.pos = "n")  
textxy(0,1,labs=c("Petal.Width"),cex=0.8,offset=-0.2,col="blue")
textxy(0,2,labs=c("Petal.Length"),cex=0.8,offset=-0.2,col="blue")
textxy(4,5,labs=c("Petal.Width"),cex=0.8,offset=0,col="blue",srt=45)
textxy(3,5,labs=c("Petal.Length"),cex=0.8,offset=0,col="blue",srt=45)

textxy(0,3,labs=c("Sepal.Width"),cex=0.8,offset=-0.2,col="red")
textxy(0,4,labs=c("Sepal.Length"),cex=0.8,offset=-0.2,col="red")
textxy(2,5,labs=c("Sepal.Width"),cex=0.8,offset=0,col="red",srt=45)
textxy(1,5,labs=c("Sepal.Length"),cex=0.8,offset=0,col="red",srt=45)

基本上,您必须删除 corrplot 显示的变量名称,而 textxy 创建标签。您必须设置位置,颜色...,这是解决您问题的捷径

答案 1 :(得分:1)

tl.col 为每个变量采用一个带有颜色的向量。因此,您可以直接使用 tl.col 参数为每​​个变量设置颜色,如下所示:

corrplot(cor(iris[,-5]), tl.col=c("red", "red", "blue", "blue"), tl.cex=0.8, tl.srt=70)

或者,您可以在函数中定义颜色:

colors <- ifelse(grepl("Sepal", names(iris)[-5]), "red", "blue")
corrplot(cor(iris[,-5]), tl.col=colors, tl.cex=0.8, tl.srt=70)

# or 

corrplot(cor(iris[,-5]), tl.col=ifelse(grepl("Sepal", names(iris)[-5]), "red", "blue"),
tl.cex=0.8, tl.srt=70)

相关问题