R 在图中,零件表示“1”;0.0-2.0“;远离中心,而;10-17“;靠近中心。如何对抗这种情况?

R 在图中,零件表示“1”;0.0-2.0“;远离中心,而;10-17“;靠近中心。如何对抗这种情况?,r,ggplot2,R,Ggplot2,风荷载图 保存并分析数据 首先显示数据库 wind <- data.frame( Speed = c("0.0~2.0", "2.1~5.0", "5.1~7.0", "7.0~10.0", "10.1~17.0", ">17.0"), N = c(660,759,153,26,1,0), NNE = c(1261,2304,450,143,6,0), NE = c(954,1964,262,61,5,0), ENE = c(810,1540,161,36,4,0

风荷载图

  • 保存并分析数据
  • 首先显示数据库

    wind <- data.frame(
      Speed = c("0.0~2.0", "2.1~5.0", "5.1~7.0", "7.0~10.0", "10.1~17.0", ">17.0"),
      N = c(660,759,153,26,1,0),
      NNE = c(1261,2304,450,143,6,0),
      NE = c(954,1964,262,61,5,0),
      ENE = c(810,1540,161,36,4,0),
      E = c(898,1677,132,21,8,0),
      ESE = c(1003,3262,501,46,2,0),
      SE = c(882,2448,309,32,0,0),
      SSE = c(916,1916,89,12,0,0),
      S = c(890,1117,143,30,4,0),
      SSW = c(799,1026,152,34,0,0),
      SW = c(798,876,144,34,2,0),
      WSW = c(841,562,52,16,0,0),
      W = c(736,519,65,10,0,0),
      WNW = c(570,837,114,28,1,0),
      NW = c(895,1524,234,64,1,0),
      NNW = c(1169,2384,559,178,12,0),
      C = c(620,0,0,0,0,0)
    )
    print(wind)
    

    wind您的
    Speed
    列是一个因子,其级别按字母顺序排列,而不是按数字顺序排列。在绘制图形之前,应使用以下内容重新定义因子:

    speed <- c("0.0~2.0", "2.1~5.0", "5.1~7.0", "7.0~10.0", "10.1~17.0", ">17.0")
    rose_long$Speed <- factor(rose_long$Speed, levels = speed, labels = speed)
    

    speed欢迎来到SO。请退房。目前,您的问题正文中未包含任何问题。
    
    W_0_7 <-(rowSums(wind[1:3,-1]))
    W_0_7 <- sum(W_0_7)
    print(W_0_7)
    
    
    library(reshape2)
    library(ggplot2)
    wind_ = subset(wind, select = -C)
    rose_long = melt(wind_, id.vars="Speed", variable.name ="Directions", value.name="Weights")
    p <- ggplot(rose_long, aes(x=Directions, y=Weights, fill=Speed)) + geom_bar(stat="identity", color="black")
    p + 
      coord_polar() + 
      scale_fill_brewer(palette="Greens") + 
      theme_bw() + 
      ylim(-0.025, 0.1) + 
      geom_hline(yintercept=0) + 
      geom_hline(yintercept=0.1) +
      theme(
        panel.grid = element_blank(),
        panel.border= element_blank(),
        axis.text.y = element_blank(),
        axis.ticks = element_blank(),
        axis.title = element_blank()
      )
    
    speed <- c("0.0~2.0", "2.1~5.0", "5.1~7.0", "7.0~10.0", "10.1~17.0", ">17.0")
    rose_long$Speed <- factor(rose_long$Speed, levels = speed, labels = speed)