ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-02-01 11:32:17  阅读:286  来源: 互联网

标签:Polar polygon 绘制 Chart coord tecdat geom 可视化 数据


原文链接: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可视化

标签:Polar,polygon,绘制,Chart,coord,tecdat,geom,可视化,数据
来源: https://www.cnblogs.com/tecdat/p/15858937.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有