2016-05-12 8 views
2

私は、空間ピクセルデータフレームを使って種予測マップをggplotにプロットしています。私はそれがほしいと思う方法をかなりプロットしています、唯一の問題は、私のラスタスケールが白から赤に変わることです。それで、伝説のどこで始まるのか分かりません。see the plot凡例のキーにアウトラインを付けるボックスを描きたいのですが、残りの部分ではなく白から赤に変わるバーだけです。私は1時間以上探していますが、これを行う方法は見つけられません。凡例に背景を付ける方法や、凡例のテキストやバーの周りにボックスを描く方法はありません。これがggplotで可能かどうか誰にも知られているのですか、私は色のグラデーションを変更する必要がありますか?ラスタキーの周囲にボックスを描く

ありがとうございます!

マイプロットコード:

ggplot() + 
    geom_raster(data=habs_pop_clip1, aes(x = easting.x, y = northing.x, fill = pred)) + 
    scale_fill_gradient("Probability of occurrence", low="white", high="red",limits = c(0,1)) + 
    coord_fixed(ratio=1, xlim=c(545000, 654000), ylim=c(278000,347000))+ 
    geom_polygon(data=Norfolk1, aes(x=long, y=lat, Group=group), color="grey",fill=NA)+ 
    theme(text = element_text(family = "serif")) + 
    geom_segment(aes(x = 550000, y = 278500, xend = 560000, yend = 278500), lineend = "round") + 
    annotate("text", x = 555000, xend = 555000, y = 282000, yend = 282000, label = "10 km", family = "serif", size = 4) + 
    ggtitle(colnames(bat_occ[i+7])) + 
    theme(plot.margin=unit(c(0.5, 0.5, 0.5, 0.5), "cm")) + 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     panel.border = element_blank(), 
     panel.background = element_blank(), 
     axis.line=element_blank(), 
     axis.ticks=element_blank(), 
     axis.title.x=element_blank(), 
     axis.title.y=element_blank(), 
     axis.text =element_blank()) 

答えて

2

内蔵のパラメータがあるかどうかはわかりません。ない場合は、手動で

df <- reshape2::melt(outer(1:4, 1:4), varnames = c("X1", "X2")) 

p <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))+ scale_fill_continuous(guide = "colorbar") 


g <- ggplotGrob(p) 
g$grobs[[8]][[1]][[1]] <- gtable::gtable_add_grob(g$grobs[[8]][[1]][[1]], 
                rectGrob(gp=gpar(fill=NA, lwd=5)), 4, 2) 
grid.newpage() 
grid.draw(g) 

enter image description here

+0

アメージングを四角形を追加することができます!ありがとうございました!それはまさに私が望むものです。 –

関連する問題