【发布时间】:2013-12-11 08:56:19
【问题描述】:
感谢这个网站的帮助,我现在已经编写了代码,将气象站降雨数据插入到 1 公里的网格上,并使用 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?
我不想使用介于最小值和最大值之间的颜色范围(蓝色到红色),而是将这些值合并,例如,蓝色是 0 毫米到 5 毫米,浅蓝色是 5 毫米到 10 毫米,黄色是 10 毫米到20 毫米,红色大于 30 毫米等。有什么想法可以实现吗?
【问题讨论】:
-
x[x$rainfall < 0, "rainfall"] <- 0并探索?cut。