当前位置:天才代写 > tutorial > 其他教程 > 用ggplot2包绘制风向风速玫瑰图

用ggplot2包绘制风向风速玫瑰图

2017-12-04 08:00 星期一 所属: 其他教程 浏览:2012

风向风速玫瑰图(wind rose)是气象学家常用的图形东西,描写了在一个特定的所在,其风速和风向是如何漫衍的。风向风速图实际上是一种条形图的扩展,它利用网格化的极坐标系统,用差异的方位来搜集风向及其频数,频率较大的方位,暗示该风向呈现次数最多。而且还用差异的颜色带来区别风速的巨细。在本例中我们首先利用ggplot2包来绘制如下的风向风速图,再用专门东西举办示例。


#首先加载ggplot2扩展包
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()
在R中绘制风向风速图也有两种专门的东西,一个是circular包中的windrose函数,另一个是climatol包中的rosavent函数。

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”)


 

    关键字:

天才代写-代写联系方式