我已经绘制了等高线图,但是我需要进行一些改进。这是所使用的数据的结构:
str(lon_sst)
# num [1:360(1d)] -179.5 -178.5 -177.5 -176.5 -175.5 ...
str(lat_sst)
# num [1:180(1d)] -89.5 -88.5 -87.5 -86.5 -85.5 -84.5 -83.5 -82.5 -81.5 -80.5 ...
dim(cor_Houlgrave_SF_SST_JJA_try)
# [1] 360 180
require(maps)
maps::map(database="world", fill=TRUE, col="light blue")
maps::map.axes()
contour(x=lon_sst, y=lat_sst, z=cor_Houlgrave_SF_SST_JJA_try[c(181:360, 1:180),],
zlim=c(-1,1), add=TRUE)
par(ask=TRUE)
filled.contour(x = lon_sst, y=lat_sst,
z=cor_Houlgrave_SF_SST_JJA_try[c(181:360, 1:180),],
zlim=c(-1,1), color.palette=heat.colors)
由于大多数相关系数都接近于0,因此很难看到较大的相关系数。
我可以使其更容易看到,还是可以更改分辨率以便放大?目前等高线之间的距离太紧,因此我看不到等高线的水平。
我在哪里可以看到增量,我将范围设置为(-1,1),我不知道如何手动设置间隔。
有人可以告诉我如何绘制地图的特定区域,例如经度从100到160,纬度从-50到-80?我试图替换
lon_sst
和lat_sst
,但是它有尺寸错误。谢谢。 最佳答案
要回答似乎是相同请求的1和3,请尝试:
maps::map(database="world", fill=TRUE, col="light blue",
ylim=c(-80, -50), xlim=c(100,160) )
解决2:您的范围比[-1,1]小得多。这些轮廓线上的标签是.06,-。02和.02之类的数字。
contour
函数将接受“ nlevels”或“ levels”参数。放大后,可以使用它来调整轮廓的z分辨率。