2017-11-03 10 views
1

ラスタデータ(ggplot2 geom_tile)のマップをマップパッケージからオーバーレイするときに問題がありますか?Rマップパッケージとgeom_tileをオーバーレイする方法は?

library(ggplot2) 
library(ggmap) 
library(maps) 
library(mapdata) 

ここでここで私はマップと私のラスタデータを結合することはできませんよマップ

states <- map_data("state") 
dim(states) 
ut_df <- subset(states, region == "utah") 
head(ut_df) 

counties <- map_data("county") 
ut_county <- subset(counties, region == "utah") 
head(ut_county) 

area <- subset(ut_county, subregion %in% c("summit", "wasatch", "salt lake", 
"utah")) 

area_map <- ggplot(data = area, mapping = aes(x = long, y = lat, group = 
group)) + 
coord_fixed(1.3) + 
geom_polygon(color = "black", fill = "white") 
area_map + theme_bw() 

area_map + coord_fixed(xlim = c(-111.438, -111.688), ylim = c(40.5, 40.625), 
ratio = 1.3) 

だ私のデータ

mydata = read.csv("Seasonal_Temp.csv") 
head(mydata) 
> head(mydata) 
longitude latitude seasonalTavg_Ens 
1 -111.688 40.500   3.435 
2 -111.688 40.563   3.183 
3 -111.688 40.625   3.488 
4 -111.625 40.500   3.437 
5 -111.625 40.563   3.395 
6 -111.625 40.625   3.429 

だ...

ggplot() + geom_raster(data = mydata, aes(longitude,latitude, fill = 
seasonalTavg_Ens)) 

感謝あなたはどんな洞察のためにでも!私はgeom_rasterまたはgeom_tileを使用しています。

答えて

0

あなたがggplotを作るとなるようにオブジェクトに保存します。

area_map <- ggplot(data = area, mapping = aes(x = long, y = lat, group = group)) + 
        coord_fixed(1.3) + 
        geom_polygon(color = "black", fill = "white") 

、あなたが明示的に

area_map <- area_map + 
       theme_bw() + 
       coord_fixed(xlim = c(-111.438, -111.688), 
          ylim = c(40.5, 40.625), atio = 1.3) 
を述べる必要がある同じオブジェクトに保存されますより多くの層を追加します

area_map + geom_raster(data = mydata, aes(longitude, latitude, 
         fill = seasonalTavg_Ens), inherit.aes = F, alpha = 0.5) 

別のキーコンセプトはを指定することです:

はgeom_tile層を追加しますggplot呼び出しでaesを定義した場合は、特定のデータを使用してレイヤーを作成します。ほとんどの場合、それは特定のデータを持つ層に適用できる文句を言わないので:

結果:

enter image description here

1はその結果

area_map + geom_raster(data = mydata, 
         aes(longitude,latitude, 
          fill = seasonalTavg_Ens), 
         inherit.aes = F, 
         alpha = 0.5) + 
    guides(fill = guide_legend(override.aes = list(alpha = 0.5))) 

enter image description here

を行うことができ伝説に一致するように伝説は連続的ではない。この問題を解決する方法は代わりにgeom_polygonのgeom_pathを指定し、完全にアルファ大騒ぎを避けるためです:

ggplot() + 
    geom_raster(data = mydata, 
       aes(longitude,latitude, 
        fill = seasonalTavg_Ens)) + 
    geom_path(data = area, aes(x = long, y = lat, group = group), 
       color = "black")+ 
    coord_fixed(xlim = c(-111.438, -111.688), ylim = c(40.5, 40.625), 
       ratio = 1.3)+ 
    theme_bw() 

enter image description here

+0

をありがとう!プロットと凡例の色が一致するように凡例を陰影付けすることは可能ですか? – James

+0

@ジェームス喜んで助けてください。アルファベット+ガイド(fill = guide_legend(override.aes = list(alpha = 0.5))) 'にマッチさせる。これは若干異なる伝説になります。回答を更新する – missuse

関連する問題