R Corrplot: изменить цвет текстовых меток столбцов, но не текстовых меток строк - PullRequest
0 голосов
/ 04 сентября 2018

Я использую функцию 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)")))

И вот как это выглядит в настоящее время: Corrplot Output

Мне нужно, чтобы некоторые надписи столбцов (12 надписей вверху) были разных цветов, тогда как надписи из 4 строк остаются черными. Аргумент tl.col изменяет цвета меток строк и столбцов.

Редактировать: Это также может работать, если некоторые из заголовков столбцов выделены жирным шрифтом, а другие - нет.

1 Ответ

0 голосов
/ 16 сентября 2018

Одно решение выглядит так:

  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

...