0

皆さんこんにちは!連続したマップ上に個別の凡例を作成するには、本当に助けが必要です。

ここに私がこれまでに持っているものがあります:ここでは、4 つの統計アルゴリズムに応じて、植物種の発生確率が表示されます。凡例には「0,1,2,3,4」と表示されますが、凡例の値はカテゴリですが、凡例のカラー パレットは、色が適切に分離されていない連続値でも機能します。

ただし、私が欲しいのは、凡例の各カテゴリに従ってマップからの連続値を持つカテゴリ凡例であり、連続スケールのないアルゴリズム予測間の一致を明確に示すことを目的としています。

画像 2 には完璧なマップが表示されていますが、ggplot2 を使用して作成したいと考えています。ここでは、4 つの統計アルゴリズムに応じて個別の凡例で色を明確に示すことができます。

2 番目のマップでは、以下のコードを使用しました。

 breakpoints <- c(-125,125,375,625,875,1125)
   colors <- c(grey(seq(0.9,0.7,-0.2)),gcolors(3))
   a.arg <- list(at=seq(0,1000,length.out=5), labels=c("0","1","2","3","4"),cex.axis=1.5)
   l.arg <- list(text="Vote",side=2, line=0.5, cex=1.5)

  par(mar=c(0,0,0,r.mar),cex=1.4)
   plot(mymap,col=colors,ext=study_area, breaks=breakpoints,
   legend.width=1.5,legend.shrink=0.6,legend.mar=7,
   axis.args=a.arg,legend.arg=l.arg,
   axes=FALSE, box=FALSE, zlim=c(0,1000))

そして、それは完全に機能します!

ただし、ggplot2 の下では、次のコードを使用していました。

 #Color scales pres 
 col_scale_var_test_pres <- scale_fill_gradientn(
   colours = c(grey(c(0.90,seq(0.9,0.7,-0.2))),gcolors(3)), # colour palete
   na.value="transparent",
   values=rescale(seq(0,1000),0,1000), 
   limits=c(0,1000),
   breaks= seq(0,1000,by=250), # if one algo predict species occurrence it counts 250, two algos 
   #(500), ### three (750), four (1000)
   labels= c(0,1,2,3,4)
  )

  b1 <- plot_anomaly_2(r= species_map, label="(b)",title="") + col_scale_var_test_pres

私はすでに #scale_fill_manual 、 #scale_fill_gradientn などを使用しようとしましたが、この質問にも回答しました (これは非常に似ています): R ggplot2 Discrete color palette for gradient map。しかし、私はまだこれを解決できません。

どんな助けや提案も大歓迎です!

4

1 に答える 1