r - ggplot 中的边框功能没有按预期工作?
问题描述
我想绘制两个变量之间的(空间)相关模式并被国家边界重叠。我将borders()
函数与 ggplot 一起使用,但 xlim 和 ylim 没有给出我期望的确切限制,相反,它们给出了整个国家。我希望有确切的限制来重叠数据。
library(ncdf4)
library(ggplot2)
library(reshape)
library(maps)
library(stringr)
library(reshape2)
library(mapdata)
library(maptools)
ncfile <- nc_open("/Volumes/KIT/CHIRPS/index/correlation/correlation.amm.allindex.nc")
lon <- ncvar_get(ncfile, "lon")
lat <- ncvar_get(ncfile, "lat")
pr <- ncvar_get(ncfile, "prptotcorrel")
ret <- list ("lat"=lat, "lon"=lon,"pr"= pr)
##
str(ret)
######## melt function for pr
melt_pr <- function(L) {
dimnames(L$pr) <- list(lon = L$lon, lat = L$lat)
rett <- melt(L$pr, value.name ="pr")
}
######
mpr <- melt_pr(ret)
head(mpr)
#
xlims=range(mpr$lon); xlims
ylims=range(mpr$lat); ylims
gcorrelation=ggplot(data = mpr, aes(x = lon, y = lat, fill = pr)) +
geom_tile() +
borders('world', xlim=xlims, ylim=ylims, colour='black', size=.2) +
coord_fixed(xlim=xlims, ylim=ylims) +
labs(x = "Longitude", y = "Latitude") +
scale_fill_gradient2(low = "blue", high = "red", mid = "white",
midpoint = 0, limit = c(-1,1), na.value = NA, name="correlation") +
theme_bw() +
coord_fixed(1.3)
gcorrelation
我希望有与数据完全吻合的国家边界。这是我希望情节看起来的样子。这是国家/地区的图像;我只想与阴影数据的确切限制重叠。
解决方案
嗨@yake84 和@wibeasley,对不起,我对堆栈溢出很陌生,感谢您的建议,coord_map() 给出了正确的预期地图。也感谢包裹的建议。
推荐阅读
- mysql - vb.net 将数据源设置为组合框
- javascript - 如何循环遍历按钮数组,并且仅在用户单击数组中的下一个按钮时才继续循环
- django - 如何使用 django 推送通知包向 android 发送前台和后台推送通知
- java - java类的变量没有被初始化
- ruby-on-rails - rake db 创建中止
- gremlin - 使用 gremlin 遍历没有任何边的顶点
- r - 如何在 r 中的 facet wrap 图上获得单个图的百分比
- wpf - Prism 导航/视图发现忽略容器范围
- python - Python socket编程序列查询
- php - 存储过程中的多个关系