Отразить цветовую гамму карты тепла в базе R - PullRequest
0 голосов
/ 12 мая 2019

Я строю простую тепловую карту в базе R. Это моя матрица:

stleft = matrix( 
     c(0,5,5,2,6,8,4,6,9), 
     nrow=3, 
     ncol=3) 
colnames(stleft) <- c("Narrow","Wide", "Wider")
rownames(stleft) <- c("Person", "Object","Bare")
stleft

Матрица выглядит так:

> stleft
       Narrow Wide Wider
Person      0    2     4
Object      5    6     6
Bare        5    8     9

Для построения тепловой карты я просто запускаю:

heatmap(stleft, Colv = NA, Rowv = NA, scale = "none")

heatmap

Как вы можете видеть, «0» (соответствует узкой ячейке / ячейке) выглядит темно-красным, а «9» (соответствует более широкой / голой ячейке) светло-желтого цвета.

  • Как я могу «перевернуть» этот диапазон так, чтобы «0» отображался светлым цветом, а «9» - глубоким?

  • Почему изображение обрезается? Он отображается усеченным на панели графиков RStudio и сохраняется усеченным. Я пытался увеличить панель сюжета в R Studio безрезультатно.

1 Ответ

0 голосов
/ 12 мая 2019

heatmap()image()) использует heat.colors() для генерации цветов по умолчанию. Вы можете предоставить свои собственные цвета, если хотите, например. с помощью heat.colors(), только в обратном порядке.

par(oma=c(3, 0, 0, 3))
col <- rev(heat.colors(999))
heatmap(stleft, Colv = NA, Rowv = NA, scale = "none", col = col)

enter image description here

...