簡體   English   中英

如何使用合並數據在R中生成被子圖?

[英]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),該地塊是英國地圖,顯示了不同顏色的降雨,最大降雨顯示紅色,最小藍色。

盡管可以,但是我想做兩件事:

  1. 確保要繪制的所有降雨數據均為0或更大。 一些降雨數據是負值(例如-1),那么如何在繪制之前將所有負值都更改為0?

  2. 我想對值進行歸類,而不是使用最小值和最大值(藍色到紅色)之間的顏色范圍,例如,藍色是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM