2-цветная тепловая карта в R со средним цветом, привязанным к определенному значению
Это изображение тепловой карты было сгенерировано в Excel, но, поскольку я пытаюсь изучить R, я хотел бы знать, как создать тепловую карту подобным образом с R.
Сейчас этот код работает, но не так, как предполагалось ...
(p <- ggplot(melt(heat), aes(Var2, Var1))
+ geom_tile(aes(fill = value), colour = "white")
+ scale_fill_gradient(low = "red", high = "green"))
Я хотел бы иметь 2 градиента, от зеленого (наибольшее значение) до белого (число 1000) до красного (самое низкое значение). Возможно ли это в R?
набор тепловых данных:
> heat[0:10,0:10]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1000.000 0.000 0.0000 0.0000 757.0317 709.3896 843.7676 932.2801 0.0000 1016.7203
[2,] 1087.658 1000.000 0.0000 0.0000 935.5829 854.5110 889.5042 1091.4610 929.1611 0.0000
[3,] 1181.599 1361.953 1000.0000 0.0000 0.0000 1102.1590 1147.1300 984.1374 969.0718 1058.3456
[4,] 1319.012 1405.954 1187.5215 1000.0000 0.0000 1093.8854 1195.7298 1077.0797 1119.4640 1159.5207
[5,] 0.000 0.000 909.1927 817.5097 1000.0000 0.0000 1101.2891 1064.6516 1037.1623 990.3974
[6,] 0.000 0.000 0.0000 0.0000 887.7498 1000.0000 1015.9835 1062.1668 1105.2163 983.2319
[7,] 0.000 0.000 0.0000 0.0000 0.0000 0.0000 1000.0000 911.0699 1026.1989 951.3572
[8,] 0.000 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 1000.0000 834.8725 927.6802
[9,] 1261.824 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1000.0000 795.6285
[10,] 0.000 1121.210 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1000.0000