Как сделать контурный график ggplot2 аналогом lattice: fill.contour ()?

Я изучал ggplot2 и надеюсь использовать его для всех моих R-графиков. Тем не менее, мне еще предстоит найти способ сделать контурный график, который будет выглядеть аналогично обычному контурному графику, как то, что можно получить с помощью lattice: fill.contour (). Например:

#define data
x<-seq(1,11,1)
y<-seq(1,11,1)
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}

#contour plot using lattice graphics and R Color Brewer
library(lattice) #for filled.contour()
library(RColorBrewer) #for brewer.pal()
z.lattice<-outer(x,y,xyz.func)
filled.contour(x,y,z.lattice,nlevels=6,col=brewer.pal(6,"YlOrRd"))

Это дает мне хороший контурный сюжет.

Теперь давайте попробуем то же самое в ggplot2. Лучшее, что я могу придумать, основываясь на всем, что я прочитал (особенноНанесение меток на плоское сечение контурных линий в ggplot2) является:

#contour plot using ggplot2
library(ggplot2)
library(reshape2) #for melt()
z.molten<-melt(z.lattice) 
names(z.molten) <- c("x", "y", "z")
v<-ggplot(z.molten, aes(x,y,z=z))+
    geom_tile(aes(fill=z))+
    stat_contour(bins=6,aes(x,y,z=z), color="black", size=0.6)+
    scale_fill_gradientn(colours=brewer.pal(6,"YlOrRd"))
v

Этот график имеет ту же основную идею, что и fill.contour (), но цветные плитки не очень хорошо соответствуют контурам.

Мне также не удалось изменить размеры плиток.

Любые предложения о том, как сделать вывод ggplot2 ближе к выводу fill.contour ()?

Ответы на вопрос(1)

Ваш ответ на вопрос