Ich versuche die Lösung zu verwenden, die @jlhoward hier bereitgestellt hat, um ein Konturdiagramm in ggplot mit diskret definierten Konturintervallen zu erstellen. Mein Datensatz überschreitet jedoch Null und dies scheint zu verursachen, dass die Farben und Beschriftungen der Werte unter Null außerhalb der Reihenfolge gezeichnet werden.Wie man diskrete gefüllte Konturen, die mit ggplot über Null gehen, plottet?
x<-seq(-11,11,.03) # note finer grid
y<-seq(-11,11,.03)
xyz.func<-function(x,y) {-10.4+6.53*x+6.53*y-0.167*x^2-0.167*y^2+0.0500*x*y}
gg <- expand.grid(x=x,y=y)
gg$z <- with(gg,xyz.func(x,y)) # need long format for ggplot
library(ggplot2)
library(RColorBrewer) #for brewer.pal()
brks <- cut(gg$z,breaks=seq(-50,100,len=6))
brks <- gsub(","," - ",brks,fixed=TRUE)
gg$brks <- gsub("\\(|\\]","",brks) # reformat guide labels
ggplot(gg,aes(x,y)) +
geom_raster(aes(fill=brks))+
scale_fill_manual("Z",values=brewer.pal(6,"YlOrRd"))+
scale_x_continuous(expand=c(0,0))+
scale_y_continuous(expand=c(0,0))+
coord_fixed()
Dadurch wird dieses Grundstück:
Wie Sie sehen können, die Farben und die Etiketten für die oberen beiden Konturen nach hinten sind. Irgendwelche Vorschläge, wie Sie das beheben können?
PS hoffe, dass ich den Link zu den Bildwerken. Es sieht aus wie ich mehr Rufpunkte müssen, bevor ich Bilder in einem Beitrag :(