代码之家  ›  专栏  ›  技术社区  ›  Feng Chen

如何用R绘制一个具有许多行(或尺寸)的雷达图?

  •  0
  • Feng Chen  · 技术社区  · 6 年前

    假设我有这样的数据:

    a <- tibble(id=c(1,1.1,1.2,1.7,2,2.1,2.6,4,4.6,4.68),
                x=c(0.3,0.5,0.2,0.7,0.1,0.5,0.43,0.6,0.3,0.65),
                y=c(0.2,0.1,0.22,0.1,0.5,0.2,0.3,0.2,0.14,0.3))
    

    ggplot(a) +
      geom_line(aes(x=id,y=x),color='red') +
      geom_line(aes(x=id,y=x+y),color='blue')
    

    enter image description here

    你可以看到有一个半径为1的圆。x和x+y(在我的数据中可能更多)分别是红色和蓝色圆圈。所以,x+y必须大于x,但始终在圆内,因为x+y+…=1。我的数据有很多ID,所以不是传统的低维雷达。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Wolfgang Arnold    6 年前

    你可以用创建雷达图 coord_polar()

    library(tidyverse)
    
    ggplot(a) + 
        geom_smooth(aes(x=id,y=x),color='red', se = FALSE) + 
        geom_smooth(aes(x=id,y=x+y),color='blue', se = FALSE) + 
        geom_line(aes(x = id, y = 1)) + 
        coord_polar()
    

    注意,我用过 geom_smooth

    推荐文章