0

インドの 357 グリッドのデータがあります。すべてのグリッドに何らかの値があります。Rでプロットしたい.次の行を使用する

library(maps)
library(ggplot2)
data <- read.csv("foo.csv")
ind <- map(database = "world", regions = "india", exact = FALSE, boundary = T)
india <- map_data(ind , region = "india", exact = F)
(ggplot(aes(x=x, y=y, fill=z), data=data) + geom_tile()) + geom_polygon(data=india, aes(x=long, y=lat, group=group), colour="black", fill="red", alpha=0)

しかし、私は非常に悪い地図を手に入れました。 このイメージを改善するにはどうすればよいですか?R Plot Filled Longitude-Latitude Grid Cells on Mapでいくつかの良い方法を見てき ましたが 、残念ながらこれらの方法は私の場合はうまくいきませんでした。いずれも高く評価されます。

4

1 に答える 1

0

観察にインドの州を関連付ける必要があります。これで、地図データとインド州の観測データをマージできると思います。これがコード例です。

states_map <- map_data("state")
fee_map <- merge(states_map, spendstate, by.x = "region", by.y = "state")
fee_map <- arrange(fee_map, group, order) # eeed to sort polygons in right order

次に、私のコードを使用すると、次のようになります。

ggplot(fee_map, aes(x = long, y = lat,  group = group, fill = obs)) + 
  geom_polygon() + 
  coord_map("polyconic") + reestheme + labs(x = "", y = "") +
  scale_fill_gradient(low = "green", high = "red") +
  theme(legend.position = "bottom") + 
  theme( legend.position=c(0,0),  legend.justification=c(0, 0)) + # lower left and lower left just
  theme(legend.text = element_text(colour= "black", size=10, hjust=0,vjust=0,face="plain")) + 
  theme(axis.text = element_blank()) + theme(axis.ticks = element_blank())
于 2015-06-17T11:21:59.260 に答える