質問1:私はggplot2パッケージを使用しています。グローバル水域(変数1)とグローバルランド(変数2)の2つの異なるラスタ変数をマップしたいと思います。私はそれぞれに2つの異なる色のスケールが必要です。私が知る限り、ggplot2を使用すると、1つのカラースケールしか受け入れられません。私は2つのカラーパレット "jet.colors"と "YlOrBr"を持っています。私はそれぞれを変数の1つに割り当てたいと思います。 These figures show spatial coverage of the two variables using solid colors and just one color palette(jet.colors)。変数1にjet.colorsを割り当て、変数2に YlOrBrを割り当てたいと思います。コードとデータが提供されています。質問2:私のプロジェクトでは、variable1とvariable2の両方に3つのディメンションがあり、このディメンションは時間を意味します(3ディメンションのサイズは50です)。私は50の地図をプロットしたい。私は、すべてのマップの各変数に1つの色のスケールを持たせることに興味があります。カラースケールの最大値および最小値は、max(variable1 [、3、]、na.rm = TRUE)およびmin(variable1 [、3、]、na.rm = TRUE)およびmax(variable2 [ ]、na.rm = TRUE)、min(variable2 [、3、]、na.rm = TRUE)をそれぞれ変数1と変数2とする。各変数のカラースケールを取得するには、元のデータに基づいて2つの変数の最大値と最小値を求めた後、variable1 [、3]とvariable3 [、3、]をリサイズしました。私はあなたの助けに感謝します。ラスタデータのマッピング複数の色の縮尺でggplot2を使用する
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
"#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
YlOrBr <- c("#FFFFD4", "#FED98E", "#FE9929", "#D95F0E", "#993404")
Variable1 <- read.table("Variable1.txt",header = TRUE, sep = "\t");
Variable2 <- read.table("Variable2.txt",header = TRUE, sep = "\t");
Variable1=as.data.frame(Variable1)
Variable2=as.data.frame(Variable2)
librray(ggplot2)
map.world <- map_data("world")
gg <- ggplot()
gg <- gg + geom_raster(data= Variable1, aes( Variable1$V2,
Variable1$V1,fill= Variable1$V3))
gg <- gg + geom_raster(data= Variable2, aes( Variable2$V2,
Variable2$V1,fill= Variable2$V3))
gg <- gg +scale_fill_gradientn(colours=jet.colors(7))
gg <- gg + geom_map(dat=map.world, map = map.world, aes(map_id=region),
fill="NA", color="black",size=0.4)
gg <- gg + expand_limits(x = map.world$long, y = map.world$lat)
gg <- gg + theme(panel.grid=element_blank(), panel.border=element_blank())
gg <- gg + theme(axis.ticks=element_blank(), axis.text=element_blank())
gg <- gg + theme(legend.position="right",plot.title = element_text(size = 10,
face = "bold"))
gg <- gg
+theme(axis.title.x=element_blank())+theme(axis.title.y=element_blank())
gg <- gg+ coord_equal()
gg
ありがとうございます実際の値(リスケール前の値)と別に地図の横に両方の色の尺度を持たせますか? – Sam
@Sam編集された回答を参照してください。 –
from = min(Variable1 $ V3_rescale)、Variable 1の範囲# 〜= max(Variable1 $ V3)、..... なぜV3_rescaleとV3の両方をここで使用しましたか? – Sam