2-farbige heatmap in R mit der mittleren Farbe verankert, um einen bestimmten Wert
Dieser heatmap Bild wurde generiert in Excel, aber als ich versuche zu lernen R ich würde gerne wissen, wie man eine heatmap wie das mit R.
Gerade jetzt, in dieser code funktioniert aber nicht so wie es sollte...
(p <- ggplot(melt(heat), aes(Var2, Var1))
+ geom_tile(aes(fill = value), colour = "white")
+ scale_fill_gradient(low = "red", high = "green"))
Ich würde gerne noch 2 Steigungen, grün(höchster Wert) bis weiß (die Zahl 1000) bis rot(niedrigste Wert). Ist es möglich, im R?
Wärme dataset:
> 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
- es sollte möglich sein, wenn Sie geben eine reprooducible Beispiel? stackoverflow.com/questions/5963269/...
- Beispiel enthalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden ?
scale_fill_gradientn
gving Sie Werte:
Mit Gitter:
(p <- ggplot(melt(heat[0:10,0:10]), aes(Var2, Var1)) + geom_tile(aes(fill = value), colour = "white") + scale_fill_gradientn(colours=c("red", "white", "green"), values=rescale(c(min(heat[0:10,0:10]), 1000, max(heat[0:10,0:10]))), guide="colorbar"))
Diese Weise die Zahl 1000 wird immer weiß und die anderen Farben werden entsprechend positioniert.Neben die Antworten und Kommentare von /zu
agstudy
können, können Sie auch reiner ggplot syntax und anzeigen der Etiketten in der aes() vialabel
:Grundstück