我的地图并未显示我期望的范围。试图改变程度也不会导致我期望的行为。我使用以下从this question修改的代码
在R中创建了一个地图library(maps)
library(mapdata)
library(rgdal)
# Build a basemap of British Columbia projected as BC Environmental Standard Projection
download.file(url="http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip", "ne_110m_admin_0_countries.zip", "auto")
unzip("ne_110m_admin_0_countries.zip")
file.remove("ne_110m_admin_0_countries.zip")
# read shape file using rgdal library
ogrInfo(".", "ne_110m_admin_0_countries")
world <- readOGR(".", "ne_110m_admin_0_countries")
summary(world)
worldBCESP <- spTransform(world, CRS("+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"))
summary(worldBCESP)
plot(worldBCESP, xlim=c(642162.8,1870556), ylim=c(457057.2,1421478), col="gray90")
地图绘制为一个瘦的矩形。像这样:
xlim和ylim基于来自summary(spu)
的数据(here)的信息,用rgdal:readOGR.
读入该数据集仅包含不列颠哥伦比亚省的点数,xlim和ylim应该反映这一点。
当我更改xlim和ylim时,瘦的矩形根本不会改变,但我在矩形内的地图上缩放。例如,对于xlim=c(250000.8,1870556), ylim=c(107057.2,1421478)
,地图看起来像
如何让地图绘制成全尺寸并表示我之后的范围(仅限于不列颠哥伦比亚省周边地区)? xlim和ylim的工作方式与我现在预期的使用预测数据的方式不同吗?
答案 0 :(得分:3)
这是RStudio的一个问题。要解决它,打开一个文件并写一个图。
png("file.png", width=800, height=800)
plot(basemap, xlim=c(0,1870556), ylim=c(157057.2,1421478), col="gray90") #plot basemap
plot(spu, add=TRUE, border=FALSE, col=spu$SPU) #plot SPUs
legend('bottomleft', legend = levels(spu$SPU), col = 1:length(levels(spu$SPU)), cex = 1, pch = 16) #plot legend
title("Lodgepole Pine Seed Planning Units")
dev.off()