[英]How to produce quilt plot in R with binned data?
多亏了这个网站的帮助,我现在设法编写了代码,将气象站的降雨数据插值到1 km的网格中,并使用R进行绘制。 代码的最后一位消除了不需要的数据,然后使用quilt.plot对其进行了绘制。 要绘制的数据(mydf.final)是具有以下标题的值的列表:索引,东,北,降雨量和平均降雨量。 如果执行dput,则要绘制的数据样本如下所示:
dput(mydf.final(head, 10))
structure(list(easting = c(101000, 101000, 101000, 101000, 101000,
101000, 101000, 101000, 101000, 101000), northing = c(740000,
741000, 742000, 743000, 744000, 745000, 746000, 747000, 748000,
749000), rainfall = c(40.0997151135538, 40.3344163486536, 40.5681562532368,
40.8009001543464, 41.0326137107226, 41.2632629265481, 41.4928141651644,
41.721234162219, 41.9484900390941, 42.1745493154662), saar = c(1081.62,
1081.62, 1081.62, 1081.62, 1081.62, 1078.68, 1078.68, 1078.68,
1078.68, 1078.68)), .Names = c("easting", "northing", "rainfall",
"saar"), row.names = 4717:4726, class = "data.frame")
我可以使用以下方式绘制此数据:
quilt.plot(cbind(mydf.final$easting,mydf.final$northing),mydf.final$rainfall, add.legend=TRUE,nx=599,ny=1209,xlim=c(0,700000),ylim=c(0,1250000))
这给我的图像是我没有足够的声誉点而无法发布。 艾米威(Amyway),该地块是英国地图,显示了不同颜色的降雨,最大降雨显示红色,最小蓝色。
尽管可以,但是我想做两件事:
确保要绘制的所有降雨数据均为0或更大。 一些降雨数据是负值(例如-1),那么如何在绘制之前将所有负值都更改为0?
我想对值进行归类,而不是使用最小值和最大值(蓝色到红色)之间的颜色范围,例如,蓝色是0mm到5mm,浅蓝色是5mm到10mm,黄色是10mm到20mm,红色大于30mm等。我如何实现这一目标?
盗用罗曼的想法,但改用findInterval
:
y<- mydf.final$rainfall # simplify typing
ycuts <- findInterval(y,c(0,5,10,20,30,max(y)))
quilt.plot(yourxdata, y , col=c('blue','lightblue','yellow','purple','red')[ycuts], {the rest of your arguments})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.