我是一名有用的助手,可以为您翻译文本。
所以我手动添加了at值(但没有精确的比例尺)。一切看起来好多了,但是...
如您所见,右侧的比例尺分布不均匀。我看不到任何蓝紫色,只有橙色和黄色。
此外,地图上的某些点非常明亮(德国地区),因为这里的值最高,但遗憾的是比例尺上没有这种颜色。
可能我没有做好。我不知道如何设置比例尺才能看起来好。我希望拥有像这样的比例尺: 我通过添加以下内容来实现这个:
我在我的图表和图例上遇到了正确颜色范围的问题。
这是我使用的代码:
data.ch4 <- read.csv2("v42_CH4_1970_TOT.txt",skip = 3,stringsAsFactors = FALSE, header = F)
num_data <- data.frame(data.matrix(data.ch4))
library(maptools)
library(lattice)
library(png)
#map loading
map1 <- readShapePoly("CNTR_2014_03M_SH/Data/CNTR_RG_03M_2014.shp")
coordinates(num_data) <- ~V2+V1
gridded(num_data) <- TRUE
#plotting
png(file="Map2.png",width=35,height=30,unit="cm", res=200, type = "cairo")
spplot(num_data["V3"], xlim=c(-5,35), ylim=c(35,70),
sp.layout = list("sp.polygons",map1),contour=F)
dev.off()
这是带有数据的文件: https://www.sendspace.com/file/hjtatp(通常压缩后大小为57 MB)
地图来自这里(但地图不是首要任务,可以跳过)
所以一切都是蓝色的。显然,最小值到最大值之间的比例距离太大了。我想修复比例尺,例如,最后一个值将是“高于x”。我尝试这样做:
现在看起来好多了。这是我做的:
#Fixed breakpoints (?)
at <- c(0e+0, 1.5e-5, 1.0e-4, 1.0e-3, 1.0e-2, 1.0e-1, 1.0e+0, 2.0e+0, 1.0e+1, 1.0e+2, 2.0e+2,5.0e+2)
spplot(num_data["V3"], xlim=c(-5,35), ylim=c(35,70),
sp.layout = list("sp.polygons",map1),
contour=F,
at=at) #right there
所以我手动添加了at值(但没有精确的比例尺)。一切看起来好多了,但是...
如您所见,右侧的比例尺分布不均匀。我看不到任何蓝紫色,只有橙色和黄色。
此外,地图上的某些点非常明亮(德国地区),因为这里的值最高,但遗憾的是比例尺上没有这种颜色。
可能我没有做好。我不知道如何设置比例尺才能看起来好。我希望拥有像这样的比例尺: 我通过添加以下内容来实现这个:
spplot(num_data["V3"], xlim=c(-5,35), ylim=c(35,70),
sp.layout = list("sp.polygons",map1),
contour=F,at=at,
colorkey=list(at=seq(0, 400, 30)) #right there
)
但是,这只是虚假的比例尺,它不起作用。
第二个问题:如何在绘制的数据上添加国家轮廓线?因为现在轮廓线被多彩的数据埋没了:c
spplot(..., col.regions = colorRampPalette(c("blue", "yellow", "red")), ...)
。 - cuttlefish44