Пользовательская тепловая карта в R - PullRequest
6 голосов
/ 17 ноября 2011

Мне нужно создать собственную тепловую карту, как показано на прилагаемом рисунке.Он отличается от обычной тепловой карты в том смысле, что я хочу использовать два цветовых градиента, один для положительных значений и один для отрицательных значений.

enter image description here

Как показано на прилагаемом рисунке, я хотел бы, чтобы один цвет отображал интенсивность положительных значений (или в идеале выше определенного порога), а другой - цветинтенсивность значений, которые являются отрицательными (альтернативно, ниже порога).

Немного предыстории: у меня установлен бинарный выбор, один вариант предпочтителен для определенного диапазона данных, а другой - для остальных данных.Я хочу предоставить наглядное пособие, которое будет отображать, какой вариант / выбор лучше для различных комбинаций данных, но я хочу, чтобы наглядное пособие также предоставило масштаб «лучшего качества», который имеет один вариант над другим для этого экземпляра.Таким образом, цвет скажет, какой вариант выбрать, а интенсивность цвета - насколько лучше этот вариант по сравнению с другим.

1 Ответ

9 голосов
/ 17 ноября 2011

вот пример использования ggplot2:

# sample data
df <- data.frame(expand.grid(x = 1:4, y = 1:4), v = runif(16, -10, 10))

# plot
ggplot(df, aes(x, y, fill = v, label = sprintf("%.1f", v))) + 
  geom_tile() + geom_text() +
  scale_fill_gradient2(low = "blue", high = "red")

enter image description here

...