8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

ggplot2 中极坐标图的中心箱位于中点,且不会丢失箱体

user3376865 2月前

12 0

我正在尝试根据每个基本方向的频率创建一个图。我按照这个优秀资源中的说明进行操作,但在尝试集中时遇到了一个重大问题...

我正在尝试根据每个基本方向的频率创建一个图。我遵循了此 优秀资源 ,但在尝试将 bin 置于中间时遇到了一个重大问题(例如,在 \'North\' bin 内从 NNW 到 N 再到 NNE 的观测值)。在原始示例中,在极端处未找到任何值,因此它没有显示为问题。

enter image description here

enter image description here

library(gcookbook)  # Load gcookbook for the wind data set
wind
w287<-c(0, 3.5, 9, 10, 90, 5, 358)
w288<-c(0, 3.5, 9, 10, 90, 5, 357)
w289<-c(0, 3.5, 9, 10, 90, 5, 1)
w290<-c(0, 3.5, 9, 10, 90, 5, 2)

wind2<-rbind(wind, w287, w288, w289, w290,w287, w288, w289, w290,w287, w288, w289, w290,w287, w288, w289, w290,w287, w288, w289, w290,w287, w288, w289, w290)
wind2[is.na(wind2$SpeedCat),]$SpeedCat<-">20"

#initial plot without rotation 
a<-ggplot(wind2, aes(x = DirCat)) +
  geom_histogram(binwidth = 90, boundary = 0) +
  coord_polar() +
  labs(title="Bins visible : no rotation")+
  scale_x_continuous(limits = c(0,360))

#plot with rotation in which the values from bin#1 are lost
b<-ggplot(wind2, aes(x = DirCat)) +
  geom_histogram(binwidth = 90, boundary = -45) +
  coord_polar() +
  labs(title="Bin not visible: rotation")+
  scale_x_continuous(limits = c(0,360))

c<-ggplot(wind2, aes(x = DirCat)) +
  geom_histogram(binwidth = 90, boundary = -45) +
  coord_polar() +
  labs(title="Bin visible: rotation + scale increased")+
  scale_x_continuous(limits = c(-45,405))

grid.arrange(a, b, c, ncol=3)
帖子版权声明 1、本帖标题:ggplot2 中极坐标图的中心箱位于中点,且不会丢失箱体
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由user3376865在本站《r》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 以下 center 论点 geom_histogram 可能会奏效:

    ## example data:
    d <- data.frame(DirCat = sample(0:360, 3600, replace = TRUE))
    
    th <-  22.5 ## wedge angle
    
        d |> 
          ggplot() +
          geom_histogram(aes(x = DirCat),
                         colour = 'white',
                         binwidth = th,
                         center = th/2
          ) +
          scale_x_continuous(breaks = 1:16 * th) +
          coord_polar()
    
    

    arbitrarily center histogram bar

返回
作者最近主题: