Ich arbeite mit einigen Gitterdaten und habe Probleme mit diskreten divergierenden Skalen zu arbeiten. Insbesondere, wie Sie den Mittelpunkt so einstellen, dass er nicht in der Mitte des Bereichs liegt. Dies ist ein reproduzierbares Beispiel zu bekommen, was ich meine:Mittelpunkt diskreter divergierender Skala in ggplot2
library(ggplot2)
grid <- expand.grid(lon = seq(0, 360, by = 2), lat = seq(-90, 0, by = 2))
grid$z <- with(grid, cos(lat*pi/180) - .7)
ggplot(grid, aes(lon, lat)) +
geom_raster(aes(fill = cut_width(z, .1))) +
scale_fill_brewer(palette = "RdBu")
Hier ist die Mitte der Skala ist nicht die Kluft zwischen positiven und negativen Werten. Ich weiß, dass ich eine kontinuierliche Skala verwenden könnte, aber ich finde, dass weniger Farben helfen, was ich zu zeigen versuche.
Gibt es eine Möglichkeit, den Mittelpunkt in einer diskreten Skala zu verschieben? Andere Alternativen, die das gleiche Ergebnis erzielen, sind ebenfalls willkommen.
Ich dachte ich, so etwas zu tun hatte. Vielen Dank. Jetzt versuche ich eine erweiterte Palette zu verwenden (da ich in meinem realen Plot mehr brauche als die 11 vom Brauer angebotenen Farben) und das Problem ist, dass es keine Legende zeigt 'ggplot (grid, aes (lon, lat)) + geom_raster (aes (fill = Schnitt (z, Schnitte))) + scale_fill_manual (Palette = div_pal, name = "Z", scale_name = "z", Tropfen = F) ' –
Gewöhnlich 'scale _ * _ manual' nimmt ein Argument' values' anstelle von 'palette'. Was ist 'div_pal'? Ist es eine Funktion oder ein Vektor von Farben? –
Es ist eine Funktion, die mit colorRampPalette gemacht wurde, um die RdBu-Skala von Farbbrüher zu erweitern: 'div_pal <- colorRampPalette (Brauer.Kumpel (Name = "RdBu", n = 11)) ' –