Как определить количество тепловых карт? - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть тепловая карта с градиентом от зеленого до красного, и значения варьируются от -2 до 2.

Теперь я хочу дать значение каждому блоку тепловой карты, есть ли способ, которым мы можем это сделать?

1 Ответ

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

Пожалуйста, смотрите ниже подход с использованием пакета tidyverse. dat преобразуется в dat2 из широкого формата в узкий. Затем geom_tile строится:

library(tidyverse)

# simulation
dat <- matrix(runif(81, -2, 2), ncol = 9)

## reshape data (tidy/tall form)
dat2 <- dat %>%
  tbl_df() %>%
  rownames_to_column("Var1") %>%
  gather(Var2, value, -Var1) %>%
  mutate(
    Var1 = factor(Var1, levels=1:10),
    Var2 = factor(gsub("V", "", Var2), levels=1:10))

## plot data
ggplot(dat2, aes(Var1, Var2)) +
  geom_tile(aes(fill = value)) + 
  geom_text(aes(label = round(value, 1))) +
  scale_fill_gradient(low = "green", high = "red") 

Выход: graph

...