R 美国和加拿大的彩色网格单元

R 美国和加拿大的彩色网格单元,r,dictionary,ggplot2,r-grid,R,Dictionary,Ggplot2,R Grid,我想在美国和加拿大给网格单元着色。我的目标与这个问题非常相似:然而,这个问题只涉及美国,我不知道如何添加加拿大 通过修改此处的代码,我可以绘制美国和加拿大的地图: 以下是早期堆栈溢出帖子中使用的ggplot2代码,用于在较低位置的地图上覆盖属性网格: library(ggplot2) library(maps) us_states <- map_data("state") (ggplot(aes(x=x,y=y,fill=z),data=dat_grid) + geom_tile())+g

我想在美国和加拿大给网格单元着色。我的目标与这个问题非常相似:然而,这个问题只涉及美国,我不知道如何添加加拿大

通过修改此处的代码,我可以绘制美国和加拿大的地图:

以下是早期堆栈溢出帖子中使用的
ggplot2
代码,用于在较低位置的地图上覆盖属性网格:

library(ggplot2)
library(maps)
us_states <- map_data("state")
(ggplot(aes(x=x,y=y,fill=z),data=dat_grid) + geom_tile())+geom_polygon(data=us_states,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0)
库(ggplot2)
图书馆(地图)
美国各州这应该可以做到

library(ggplot2)
library(maps)

us = map_data("state")
# or this if you don't want the states' boundary
# us = map_data("states", boundary=FALSE)
ca = map_data("world", "Canada")

set.seed(1234)
xlim = c(-110,-100)
ylim = c(40,60)
dat_grid = expand.grid(x = xlim[1]:xlim[2], y = ylim[1]:ylim[2])
dat_grid$z = runif(nrow(dat_grid))

p = ggplot(aes(x=x,y=y,fill=z),data=dat_grid) 
p + geom_tile() + geom_polygon(data=us,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0) + 
  geom_polygon(data=ca,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0)
如果您需要阿拉斯加:

library(ggplot2)
library(maps)

m = map_data("world2", c("usa", "Canada"))

set.seed(1234)
xlim = c(250,300)
ylim = c(40,60)
dat_grid = expand.grid(x = xlim[1]:xlim[2], y = ylim[1]:ylim[2])
dat_grid$z = runif(nrow(dat_grid))

p = ggplot(dat_grid,aes(x=x,y=y)) + geom_tile(aes(fill=z))
p  + geom_polygon(data=m,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0) 

这非常有帮助。我不想再要求了。尽管如此,如果地图能够以陆地为中心,那将是理想的。这将很容易,最后,
+xlim(175320)+ylim(20,90)
library(ggplot2)
library(maps)

us = map_data("state")
# or this if you don't want the states' boundary
# us = map_data("states", boundary=FALSE)
ca = map_data("world", "Canada")

set.seed(1234)
xlim = c(-110,-100)
ylim = c(40,60)
dat_grid = expand.grid(x = xlim[1]:xlim[2], y = ylim[1]:ylim[2])
dat_grid$z = runif(nrow(dat_grid))

p = ggplot(aes(x=x,y=y,fill=z),data=dat_grid) 
p + geom_tile() + geom_polygon(data=us,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0) + 
  geom_polygon(data=ca,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0)
library(ggplot2)
library(maps)

m = map_data("world2", c("usa", "Canada"))

set.seed(1234)
xlim = c(250,300)
ylim = c(40,60)
dat_grid = expand.grid(x = xlim[1]:xlim[2], y = ylim[1]:ylim[2])
dat_grid$z = runif(nrow(dat_grid))

p = ggplot(dat_grid,aes(x=x,y=y)) + geom_tile(aes(fill=z))
p  + geom_polygon(data=m,aes(x=long, y=lat, group=group), colour="black", fill="white", alpha=0)