绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据

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

然而,用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

相关实践学习
跟我学:如何一键安装部署 PolarDB-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署 PolarDB-X。
相关文章
|
关系型数据库
【MATLAB】进阶绘图 ( Polar Chart 极坐标图 | polar 函数 )
【MATLAB】进阶绘图 ( Polar Chart 极坐标图 | polar 函数 )
931 0
【MATLAB】进阶绘图 ( Polar Chart 极坐标图 | polar 函数 )
|
8月前
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
729 0
|
存储 SQL 安全
PolarDB-X内核新版本:将MySQL进行到底
在PolarDB-X最新的内核版本5.4.15中,提供诸多新功能:存储过程,读写分离优化,表级分区管理,密码、审计优化等。
356 0
PolarDB-X内核新版本:将MySQL进行到底
|
存储 SQL Cloud Native
PolarDB-X内核新版本:更精细的数据管理
非常高兴为大家带来PolarDB-X内核5.4.14版本。在最新版本中提供了冷热数据存储分离、数据Locality、数据热点诊断、并行DML优化、Flashback Query和AUTO_INCREMENT兼容性,大幅提升了数据的可管理性、SQL处理能力和兼容性,并针对数据热点问题为用户提供了更多运维手段。
|
存储 Cloud Native 关系型数据库
PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能
2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 年10月正式开源。本次发布是开源后首个重大版本升级,重磅推出在稳定性、生态融合以及易用性上有了长足进步的 2.1 版本,该版本在内核能力上首次对齐商业版,新增 X-Paxos、自动分区、OSS 冷热数据分离等诸多重要特性,并在 MySQL 生态融合、K8S 生态融合方向持续迭代。
PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能
|
存储 SQL Kubernetes
PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源
2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO=0的生产级别可用性,可以满足同城三机房、两地三中心等容灾架构。
PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源
|
存储 关系型数据库 分布式数据库
每周问答精选:PolarDB-X 存储资源包是抵扣哪个版本的按量付费?
为了方便各位小伙伴能够方便、快速的了解到 PolarDB 开源数据库的相关的使用问题,社区每周将精选群内高质量的问题通过该栏目予以统一答复,希望能够对大家有所帮助。
每周问答精选:PolarDB-X 存储资源包是抵扣哪个版本的按量付费?
|
SQL Cloud Native 分布式数据库
PolarDB-X 1.0-用户指南-实例管理-升级版本
您可以升级更新PolarDB-X 1.0实例到最新版本,快速体验实例新特性,本文将介绍如何在控制台上升级PolarDB-X 1.0实例版本。
538 0
PolarDB-X 1.0-用户指南-实例管理-升级版本
|
SQL 关系型数据库 MySQL
PolarDB-X 1.0-用户指南-自定义控制指令-老版本SHOW PROCESSLIST指令与KILL指令
功能版本说明 当 PolarDB-X 版本号小于 5.1.28-1408022 时,PolarDB-X 仅支持物理连接的 SHOW PROCESSLIST 与 KILL 功能,请继续阅读此文档。 当 PolarDB-X 版本号大于等于 5.1.28-1408022 时,PolarDB-X 支持逻辑连接与物理连接的 SHOW PROCESSLIST 与 KILL 功能,请参见SHOW PROCESSLIST 指令与 KILL 指令。 获取 PolarDB-X 版本号,PolarDB-X 自助升级的方法以及更多的版本介绍请参见版本说明文档。
157 0