J'essaie d'utiliser la solution que @jlhoward fournit ici pour créer un tracé de contour dans ggplot avec des intervalles de contour définis de manière discrète. Cependant, mon ensemble de données passe à zéro et cela semble entraîner un décalage des couleurs et des étiquettes des valeurs inférieures à zéro.Comment tracer des contours remplis discrets qui traversent zéro avec ggplot?
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()
Ce produit cette parcelle:
Comme vous pouvez le voir, les couleurs et les étiquettes pour les deux contours supérieurs sont en arrière. Des suggestions sur la façon de résoudre ce problème?
PS J'espère que le lien avec les œuvres d'image. On dirait que je besoin de plus de points de réputation avant que je puisse inclure des images dans un poste :(