Я хочу создать тепловую карту с помощью функции heatmap.2
из пакета gplots
. Это минимальный пример.
require(gplots)
# create symmetric matrix
x = matrix(rnorm(100), nrow=10)
diag(x) <- 1
x[upper.tri(x)] <- t(x)[upper.tri(x)]
colnames(x) <- rownames(x) <- letters[1:nrow(x)]
# create side colours
varcols = setNames(rainbow(nrow(x)), rownames(x))
# create heatmap
heatmap.2(x,
symm = TRUE,
trace = "none",
revC=TRUE, # <-- THIS IS THE PROBLEM
ColSideColors = varcols,
RowSideColors = varcols
)
Проблема в боковых цветах. x
— симметричная матрица, поэтому столбцы и строки должны иметь одинаковые боковые цвета. Это нормально, пока revC = FALSE
. Однако, когда я использую revC = TRUE
, порядок цветов искажается. Иногда — в небольших примерах — помогает обратить ColSideColors
, но это не всегда работает.
Я что-то не так делаю или это баг gplots
?