2
我正在尝试使用@jlhoward提供的解决方案,在离散定义的轮廓间隔中在ggplot中绘制轮廓图。但是,我的数据集过零,这似乎导致颜色和零值以下的标签被乱序绘制。如何绘制用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()
这会产生这样的情节:
正如你所看到的颜色和上面两个轮廓的标签是倒退。对于如何解决这个问题,有任何的建议吗?
PS我希望链接到的图像作品。它看起来像我需要更多的声誉分,之前当您使用cut
,你会自动得到一个factor
,或你在cut
使用中断的顺序进行排序的休息,我可以包括在后:(