2014-02-21 58 views
0

我試圖使用一個名爲「climatol」的R的過時包,我需要修改一下我的目的函數「rosavent」。Windrose基於R中的「climatol」包的多邊形

我有平均風強度的矩陣:

intensity <- matrix(c(0.20289, 0.14956, 0.24291, 0.35733, 0.59993, 0.89495, 0.71406, 0.38831), nrow=1, ncol=8) 

和平均風向的矩陣:

direction <- matrix(c(42.21043, 88.41437, 137.7938, 182.6797, 227.6208, 269.7415, 313.8207, 358.0944), nrow=1, ncol=8) 

我需要的是,多邊形的高度適合的平均風向代替對應於函數「rosavent」的「ang」參數。

Here是包裝「climatol」。如果需要的話,我也可以把這個功能(這有點長)放在我的文章中。

任何幫助,將不勝感激!

謝謝

編輯

這裏是climatol VS ggplot結果,THX的意見的幫助。目前Climatol仍然接近我想要的結果,但我正在研究ggplot的改進。

Climatol: enter image description here

GGplot: enter image description here

我還在努力改善ggplot代碼風力強度/方向給予高度之間獲取多邊形的邊,而不是圓形的聯繫。

像往常一樣感謝你的幫助和想法!

+0

[一些建議](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)在stackoverflow問題中創建一個可重現的R例子。你更有可能得到答案。另外,如果你不是''climatol',那麼在'ggplot2'中創建一個windrose就是一個例子[這裏](http://stackoverflow.com/questions/17266780/wind-rose-with-ggplot-r)你可以適應。 – Noah

+0

感謝您的提示。我要修改我的帖子。我已經知道這篇文章和相關的windrose函數(我使用了很多!),但是我真的需要這次的氣象函數。 –

+0

我修改了這篇文章,不要猶豫,告訴我如果我在提出問題的方式上仍然不好。再次感謝您的回答。 –

回答

0

我已經足夠接近我給我的原始問題的答案。我爲此失去了對ggplot2的信心,因爲我找不到使用coord_polar繪製多邊形的方法。我發現了另一個符合我需求的軟件包,叫做「plotrix」。反正這裏是我使用的數據集的例子:

# Wind-Currents data 
intensity_measured <- matrix(c(0.20289, 0.14956, 0.24291, 0.35733, 0.59993, 0.89495, 0.71406, 0.38831), nrow=1, ncol=8) 
intensity_simulated <- matrix(c(0.17853, 0.07568, 0.52146, 1.94222, 0.08634, 0.02636, 0.04742, 0.04162), nrow=1, ncol=8) 
direction_measured <- matrix(c(42.21043, 88.41437, 137.7938, 182.6797, 227.6208, 269.7415, 313.8207, 358.0944), nrow=1, ncol=8) 
direction_simulated <- matrix(c(36.13772, 85.17624, 148.96940, 176.66004, 210.36353, 282.38215, 314.35050, 0.72026), nrow=1, ncol=8) 

# Library allowing polygon plot on polar coordinates 
library(plotrix) 

# Function for plotting wind data by date 
polar.plot(rbind(intensity_measured, intensity_simulated), 
      rbind(direction_measured, direction_simulated),main="My plot", 
      rp.type="p", poly.col=c(rgb(255/255, 215/255, 0, .8), 
      rgb(0, 0, 1, .8)), start=90, clockwise=TRUE, radial.labels = "", 
      label.pos=NULL, line.col=c("black", "black"), 
      radial.lim=c(0,max(rbind(intensity_measured, intensity_simulated))), 
      boxed.radial=FALSE) 

我們在這裏:

enter image description here

這是很清楚的,所以,現在我可以比較我的測量和模擬風!如果任何人有一個好主意,我仍然對使用ggplot2的解決方案感興趣;)

感謝Stackoverflow社區,希望這個例子能幫助你們中的一些人!