• 拓端tecdat|R语言GGPLOT2绘制圆环图雷达图/星形图/极坐标图/径向图Polar Chart可视化分析汽车性能数据


    原文链接:http://tecdat.cn/?p=24896

    原文出处:拓端数据部落公众号

    漂亮的圆形图。我不确定对数据分析师本身是否有额外的好处,但如果能吸引决策者的注意,那对我来说就是额外的价值。

    然而,用coord_polar()或偶尔发现的ggplot2中的coord_radar()构建它们可能很难。我发现的两个主要问题是,极坐标的变化会使你的路径弯曲成圆形,而且雷达无法与geom_bin结合使用来填充背景。

    这就是为什么我通常在笛卡尔坐标系统中使用。更像是一种数学解决方案。映射您的数据和绘图需求,使其最终成为圆环。作为一个额外的好处,我还发现它的构建/加载速度更快。对我来说很重要,因为我让它们在 Shiny Apps 中交互。

    我在示例中使用了 mtcars 数据。该图显示了集合中的 12 辆汽车:

    • 背景中的气缸。4、6 和 8 缸的浅色、中色和深色。
    • 用蓝色标出每辆车每加仑的里数。

    这篇文章是逐步展示如何将所需的元素添加到圆形图中。很多东西可能可以改进,请随时发表评论。

    我使用前 12 辆汽车,并希望有一列包含行名。

    add_rownames[1:12,]

    绘制数据映射

    为了映射我想绘制的任何列的值,我创建了函数。它基本上会检查您想要绘制多少个变量并为 x 和 y 值绘制正弦曲线。

    1.  
       
    2.  
      lev <- levels
    3.  
      num <- length
    4.  
       
    5.  
      dir <- rep
    6.  
      dir_ <- map_dbl
    7.  
      interp
    8.  
      data <- mutate_

    存储映射数据以映射所有标签的 mpg 变量。

    1.  
      # 数据点
    2.  
      rotate_data

    我想展示绘图范围数据,所以我伪造了一系列 qsec 数据。基本上,您为每辆车(标签)上的 qsec 生成一个具有多个值(行)的数据框。

    1.  
      #编造一些范围数据
    2.  
      bind_rows
    3.  
      rotate_data

    使用polygon 绘制范围,使用 path 和 point 绘制 mpg 值。

    1.  
      lim <- max
    2.  
      # 用自己的数据和美学来绘制每一层的图案
    3.  
      ggplot() +
    4.  
      geom_polygon+
    5.  
      geom_point+
    6.  
      theme+
    7.  
      coord_equal

    径向线

    我猜想要的网格是由带圆圈的径向向外线组成的。创建 x、xend、y 和yend 数据点以绘制其间的线段。

    1.  
      r <- data_frame %>%
    2.  
      mutate
    3.  
      r$xed <- 0
    4.  
      r$yed <- 0
    1.  
      #用自己的数据和美学来绘制每一层的图案
    2.  
       
    3.  
      ggplot() +
    4.  
      geom_segment +
    5.  
      geom_polygon+
    6.  
      geom_point +
    7.  
      ylim + xlim +
    8.  
      theme+
    9.  
      coord_equal

    标签

    为您旋转的变量添加文本标签。

    label <- levels
    
    1.  
       
    2.  
      ggplot() +
    3.  
      geom_segment +
    4.  
      geom_polygon +
    5.  
      geom_path +
    6.  
      geom_point +
    7.  
      geom_text+
    8.  
      theme +
    9.  
      coord_equal
    10.  
       

    绘制圆圈

    要绘制圆圈,我将使用带有填充选项的 circle。

    1.  
       
    2.  
      t <- seq
    3.  
      d <- data.frame
    4.  
      if(fed==TRUE) { # #在中心添加一个点,使整个 "饼 "被填满
    5.  
      d <- rbind
    6.  
      }
    7.  
      return(d)
    8.  
       

    网格圆圈和标签

    圆形网格线是通过多次调用 circle 并将所有点存储在数据框中来构建的。

    1.  
      cregrd <- data_frame
    2.  
      crld <- cili %>%
    3.  
      mutate
    4.  
       
    5.  
      poties <- bind_rows
    6.  
      loics$lv <- as.factor

    可以通过多种方式添加圆形标签。但是为了简单地将所有轴文本和轴标签设置为blank,我构建了一个可以使用 text 绘制的数据框。

    1.  
      c <- data_frame
    2.  
      cl <- cl[x <= max,]
    1.  
       
    2.  
      ggplot() +
    3.  
      geom_segment +
    4.  
      geom_path+
    5.  
      geom_text+
    6.  
      geom_polygon +
    7.  
      geom_point +
    8.  
      geom_text + xlim +
    9.  
      theme+
    10.  
      coord_equal
    11.  
       

    背景

    使用 circle,您还可以轻松构建圆部分,您可以使用 Filled = TRUE 参数填充该部分。有一点 -1/num 偏移以使该部分正确对齐。在这里,您提出了您要为其着色的因子变量。当然,您还可以更改代码以根据变量更改每个条的“高度”。

    1.  
       
    2.  
      num <- length
    3.  
      levels <- rev
    4.  
      tart <- seq
    5.  
       
    6.  
      bg <- data_frame
    7.  
      mutate
    8.  
       
    9.  
      bgdta <- tdf
    10.  
      bgdta$lv <- as.factor

    中心圆

    细节不多,但您可能想添加一些中心圆。

    1.  
      lm <- max
    2.  
      ggplot() +
    3.  
      geom_polygon+
    4.  
      geom_segment +
    5.  
      geom_path+
    6.  
      geom_text +
    7.  
      geom_polygon+
    8.  
      geom_polygon+
    9.  
      geom_path +
    10.  
      geom_point +
    11.  
      geom_text +
    12.  
      ylim + xlim +
    13.  
      theme +
    14.  
      coord_equal


    最受欢迎的见解

    1.R语言动态图可视化:如何、创建具有精美动画的图

    2.R语言生存分析可视化分析

    3.Python数据可视化-seaborn Iris鸢尾花数据

    4.r语言对布丰投针(蒲丰投针)实验进行模拟和动态

    5.R语言生存分析数据分析可视化案例

    6.r语言数据可视化分析案例:探索brfss数据数据分析

    7.R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

    8.R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

    9.python主题LDA建模和t-SNE可视化

  • 相关阅读:
    梦断代码,读书计划
    《梦断代码》读后感1
    四则运算2详细过程
    四则运算2初步构思
    四则运算
    阅读《梦断代码》计划
    四则运算2设计思路
    随机输出30道四则运算题
    软件工程阅读计划
    面试题04
  • 原文地址:https://www.cnblogs.com/tecdat/p/15858937.html
Copyright © 2020-2023  润新知