我使用R中的“圆形”包和rose.diag函数创建了位置数据方面的玫瑰图,其中包含N,NE,E等基本方面,总共有8个bin。但是,垃圾箱不会跨越各个方面。换句话说,第一个bin的取值范围是0-45,第二个bin的取值范围是45至90,依此类推,它们以奇怪的方式合并了方面数据。有什么方法可以移动垃圾箱,使0、45、90等位于垃圾箱的中心,而不是边缘吗?
rose.diag(Degrees$Degrees, bins=8,zero=pi/2, units = 'degrees', rotation='clock')
最佳答案
我认为Ben是对的,因为使用rose.diag
很难做到这一点,因此这是使用ggplot2
的解决方案:
library(ggplot2)
Degrees <- runif(100, 0, 360)
rose <- ggplot(mapping = aes(x = Degrees)) +
stat_bin(breaks = (0:8 - 0.5)/8 * 360) +
scale_x_continuous(
breaks = 0:7/8*360,
labels = c("N", "NE", "E", "SE", "S", "SW", "W", "NW")
) +
coord_polar(start=-pi/8)
rose
这可能并不理想,因为
rose.diag
中的所有功能在ggplot2中都不具有简单的等效项。