制作圆形玫瑰图

时间:2015-07-21 12:37:07

标签: r plot ggplot2

下午好,

我有一个简单的数据集,其中包含2个带有风向和数据的列。我正在尝试重现类似于以下内容的情节:

enter image description here

在stackoverflow中搜索后,我遇到了"循环"包装' rose-diag'功能。

然而,当我尝试使用以下代码时:

x= dat$Test

plot(x)
rose.diag(x, bins=24, main="test", prop=2, axes = F)

我得到以下内容:

enter image description here

显示错误的指示。有人可以告诉我这里做错了什么以及纠正错误的任何建议?

我还在ggplot中找到了一些例子,但无法用我想做的事情进行锻炼。任何建议都会得到真正的赞赏,任何替代方法只是为了学习其他方法来做这种类型的情节。感谢

我正在测试的样本输入数据是:

> dput(dat)
structure(list(wd = c(7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 
112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5, 217.5, 232.5, 
247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5, 352.5), Test = c(10.82, 
6.75, 6.57, 6.52, 8.48, 9.66, 15.36, 18.97, 29.14, 36.56, 38.65, 
44.23, 51.99, 50.83, 51.93, 50.27, 49.35, 52.67, 54.05, 49.69, 
43.73, 29.83, 18.94, 17.33)), .Names = c("wd", "Test"), class = "data.frame", row.names = c(NA, 
-24L))

1 个答案:

答案 0 :(得分:1)

这里有一些示例代码:

df <- data.frame(wd = c(7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 
                 112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5, 217.5, 232.5, 
                 247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5, 352.5), 
          Test = c(10.82, 
                   6.75, 6.57, 6.52, 8.48, 9.66, 15.36, 18.97, 29.14, 36.56, 38.65, 
                   44.23, 51.99, 50.83, 51.93, 50.27, 49.35, 52.67, 54.05, 49.69, 
                   43.73, 29.83, 18.94, 17.33))
ggplot(df, aes(wd, Test)) + 
    geom_bar(width=15, stat='identity', color='grey') + 
    coord_polar()