关于数据挖掘:R语言GGPLOT2绘制圆环图雷达图星形图极坐标图径向图Polar-Chart可视化分析汽车性能数据

7次阅读

共计 2346 个字符,预计需要花费 6 分钟才能阅读完成。

原文链接: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 值绘制正弦曲线。

  lev <- levels
  num <- length

  dir <- rep
  dir_ <- map_dbl
  interp
  data <- mutate_

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

# 数据点
rotate_data

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

# 假造一些范畴数据
bind_rows
rotate_data

应用 polygon 绘制范畴,应用 path 和 point 绘制 mpg 值。

lim <- max
#  用本人的数据和美学来绘制每一层的图案
ggplot() + 
  geom_polygon+
  geom_point+
  theme+ 
  coord_equal

径向线

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

r <- data_frame %>% 
  mutate
r$xed <- 0
r$yed <- 0
# 用本人的数据和美学来绘制每一层的图案

ggplot() + 
  geom_segment +
  geom_polygon+
  geom_point +
  ylim + xlim +
  theme+ 
  coord_equal

标签

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

label <- levels
ggplot() + 
  geom_segment +
  geom_polygon +
  geom_path +
  geom_point +
  geom_text+
  theme + 
  coord_equal

绘制圆圈

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

  t <- seq
  d <- data.frame
  if(fed==TRUE) { # #在核心增加一个点,使整个 "饼" 被填满
    d <- rbind
  }
  return(d)

网格圆圈和标签

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

cregrd <- data_frame
crld <- cili %>% 
  mutate

poties <- bind_rows
loics$lv <- as.factor

能够通过多种形式增加圆形标签。然而为了简略地将所有轴文本和轴标签设置为 blank,我构建了一个能够应用 text 绘制的数据框。

c <- data_frame
cl <- cl\[x <= max,\]
ggplot() + 
  geom_segment +
  geom_path+ 
  geom_text+
  geom_polygon +
  geom_point +
  geom_text + xlim +
  theme+ 
  coord_equal

背景

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

num      <- length
levels   <- rev
tart    <- seq

bg  <- data_frame
  mutate

bgdta <- tdf
bgdta$lv <- as.factor

核心圆

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

lm <- max
ggplot() + 
  geom_polygon+
  geom_segment +
  geom_path+ 
  geom_text +
  geom_polygon+ 
  geom_polygon+
  geom_path +
  geom_point +
  geom_text +
  ylim + xlim +
  theme + 
  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 可视化

正文完
 0