风向风速玫瑰图(wind rose)是气象学家常用的图形东西,描写了在一个特定的所在,其风速和风向是如何漫衍的。风向风速图实际上是一种条形图的扩展,它利用网格化的极坐标系统,用差异的方位来搜集风向及其频数,频率较大的方位,暗示该风向呈现次数最多。而且还用差异的颜色带来区别风速的巨细。在本例中我们首先利用ggplot2包来绘制如下的风向风速图,再用专门东西举办示例。
#首先加载ggplot2扩展包在R中绘制风向风速图也有两种专门的东西,一个是circular包中的windrose函数,另一个是climatol包中的rosavent函数。
library(ggplot2)
set.seed(1234)
#随机生成100次风向,并搜集到16个区间内
dir <- cut_interval(runif(100,0,360),n=16)
#随机生成100次风速,并分别成4种强度
mag <- cut_interval(rgamma(100,15),4)
sample <- data.frame(dir=dir,mag=mag)
#将风向映射到X轴,频数映射到Y轴,风速巨细映射到填充色,生成条形图后再转为极坐标形式即可
p <- ggplot(sample,aes(x=dir,y=..count..,fill=mag))
p + geom_bar()+ coord_polar()
library(circular)
dir <- circular(runif(100,0,360),units=’degrees’)
mag <- rgamma(100,15)
sample <- data.frame(dir=dir,mag=mag)
res <- windrose(sample,template=’geographics’)

library(climatol)
data(windfr)
rosavent(windfr, 4, 4, ang=-3*pi/16, main=”Annual windrose”)
