风向风速玫瑰图(wind rose)是气象学家常用的图形工具,描述了在一个特定的地点,其风速和风向是如何分布的。风向风速图实际上是一种条形图的扩展,它使用网格化的极坐标系统,用不同的方位来汇集风向及其频数,频率最大的方位,表示该风向出现次数最多。并且还用不同的颜色带来区别风速的大小。在本例中我们首先使用ggplot2包来绘制如下的风向风速图,再用专门工具进行示例。
在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")
不知博主认为蜘蛛网一样的方形图是不是也可以用ggplot包制作的呢? 您的图很神奇!学习了!
回复删除ggplot几乎可以做任何图形,除了作者的那本书外,还有一个关于ggplot的博客也很棒,http://learnr.wordpress.com 但是那个博客好象已经不更新了。
删除google无意间发现的blog,很佩服你对R的熟练掌握。羡慕嫉妒恨。本人是临到可视化数据的时候,才会看下R有没有什么炫图。。。请教下,用windrose可以做0到pi之间的图么?想作图显示所有可能性的方向(0到180度)和每个方向出现的频率。尝试了几种不同的,先用historgram算出频率,再用那个频率作为windrose的mag值,不过不知道怎么显示半圆,已经显示不同方向角度的百分比在图上。。。请提点。
回复删除可以试着将不需要显示的半圆处的值设置为0
删除dir <- cut(runif(1000,0,360),breaks=seq(0,360,by=10))
data <- as.data.frame(table(dir))
data[19:36,2]<-0
p <- ggplot(data,aes(x=dir,y=Freq))
p + geom_bar()+ coord_polar()
Antalya
回复删除Antep
Burdur
Sakarya
istanbul
SCYF
BCC12
回复删除Pursaklar Parke Ustası
Bitexen Güvenilir mi
Çerkezköy Yol Yardım
Ağrı Lojistik
Urfa Lojistik
Bayburt Şehir İçi Nakliyat
Ünye Çekici
Probit Güvenilir mi
Binance Referans Kodu
AD287
回复删除Tunceli Şehir İçi Nakliyat
Bitmex Güvenilir mi
Mardin Şehirler Arası Nakliyat
Giresun Parça Eşya Taşıma
Yalova Parça Eşya Taşıma
Bitfinex Güvenilir mi
Muş Şehirler Arası Nakliyat
Yalova Evden Eve Nakliyat
Ankara Parke Ustası