引言

在进行数据分析时,免不了对结果进行可视化。那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点:

  • 能正确传递信息,而不会产生歧义;
  • 样式简单,但是易于理解;
  • 添加的图形美学应辅助理解信息;
  • 图形上不应出现冗余无用的信息。

本系列推文,小编将汇总可视化中常用 7 大类型图形,供读者参考。每类制作成一篇推文,主要参考资料为:Top 50 ggplot2 Visualizations。其他类似功能网站,资料包括:

  1. 庄闪闪的可视化笔记——常用图形

  2. R Graph Gallery

  3. 《R 语言教程》——ggplot 的各种图形

系列目录

本文主要介绍第七部分: 群体关系图形。

加载数据集

使用 ggplot2 包中自带数据集作为示例数据集。

library(ggplot2)
library(plotrix)
data("midwest", package = "ggplot2") #加载数据集

全局主题设置

全局配色、主题设置。注意,本文使用离散色阶,如果需要使用连续色阶,则需要重写。

options(scipen=999)  # 关掉像 1e+48 这样的科学符号
# 颜色设置(灰色系列)
cbp1 <- c("#999999", "#E69F00", "#56B4E9", "#009E73","#F0E442", "#0072B2", "#D55E00", "#CC79A7")# 颜色设置(黑色系列)
cbp2 <- c("#000000", "#E69F00", "#56B4E9", "#009E73","#F0E442", "#0072B2", "#D55E00", "#CC79A7")ggplot <- function(...) ggplot2::ggplot(...) + scale_color_manual(values = cbp1) +scale_fill_manual(values = cbp1) + # 注意: 使用连续色阶时需要重写theme_bw()

7 群体关系

7.1 谱系图

library(ggplot2)
library(ggdendro)
theme_set(theme_bw())hc <- hclust(dist(USArrests), "ave")  # hierarchical clustering
# plot
ggdendrogram(hc, rotate = TRUE, size = 2)

7.2 聚类图

可以使用 geom_surround() 来显示不同的簇或组。如果数据集有多个特征,还可以计算主成分,并使用 PC1 和 PC2 作为 X 和 Y 轴绘制散点图。geom_encircle() 可用于框选所需的组。

# devtools::install_github("hrbrmstr/ggalt")
library(ggplot2)
library(ggalt)
library(ggfortify)
theme_set(theme_classic())# Compute data with principal components ------------------
df <- iris[c(1, 2, 3, 4)]
pca_mod <- prcomp(df)  # compute principal components# Data frame of principal components ----------------------
df_pc <- data.frame(pca_mod$x, Species=iris$Species)  # dataframe of principal components
df_pc_vir <- df_pc[df_pc$Species == "virginica", ]  # df for 'virginica'
df_pc_set <- df_pc[df_pc$Species == "setosa", ]  # df for 'setosa'
df_pc_ver <- df_pc[df_pc$Species == "versicolor", ]  # df for 'versicolor'# Plot ----------------------------------------------------
ggplot(df_pc, aes(PC1, PC2, col=Species)) + geom_point(aes(shape=Species), size=2) +   # draw pointslabs(title="Iris Clustering", subtitle="With principal components PC1 and PC2 as X and Y axis",caption="Source: Iris") + coord_cartesian(xlim = 1.2 * c(min(df_pc$PC1), max(df_pc$PC1)), ylim = 1.2 * c(min(df_pc$PC2), max(df_pc$PC2))) +   # change axis limitsgeom_encircle(data = df_pc_vir, aes(x=PC1, y=PC2)) +   # draw circlesgeom_encircle(data = df_pc_set, aes(x=PC1, y=PC2)) + geom_encircle(data = df_pc_ver, aes(x=PC1, y=PC2))

可视化系列汇总——群体关系相关推荐

  1. 可视化系列汇总——相关关系图形

    引言 在进行数据分析时,免不了对结果进行可视化.那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点: 能正确传递信息,而不会产生歧义: 样式简单,但是易于理解: 添加的图形美学应辅助 ...

  2. 可视化系列汇总——偏差

    引言 在进行数据分析时,免不了对结果进行可视化.那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点: 能正确传递信息,而不会产生歧义: 样式简单,但是易于理解: 添加的图形美学应辅助 ...

  3. 数据可视化系列-05数据分析报告

    文章目录 数据可视化系列-05数据分析报告 1.了解初识数据分析报告 数据分析报告简介 数据分析报告的作用 报告的能力体现 报告编写的原则 报告种类 2.掌握数据分析报告结构 标题页 目录 前言 正文 ...

  4. 数据可视化系列-01大数据可视化基础

    文章目录 1.概述 2.大数据可视化基础 2.1 数据可视化基础知识 1.数据可视化简史: 2.数据可视化是什么: 3.数据可视化的分类: 4.数据可视化流程: 5.数据可视化的意义: 2.2 认识B ...

  5. 数据可视化系列(二):艺术画笔见乾坤

    前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打劳基础~ 大家可以多看看官方教程: 中文官方网站:http ...

  6. 数据可视化系列(一):Matplotlib初相识

    前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打捞基础~ 大家可以多看看官方教程: 中文官方网站:http ...

  7. Linux视频教程系列汇总

    Linux视频教程系列汇总 该系列视频涉及Linux学习的方方面面,入门的.高级的.编程的.安全的,都有了,每一套都很完整. 由于文件比较大,全部使用FTP发布的,建议使用能重复连接的下载工具(如迅雷 ...

  8. 数据可视化系列(三):布局格式定方圆

    前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打劳基础~ 大家可以多看看官方教程: 中文官方网站:http ...

  9. TechNet 晒文 - Windows 7 系列汇总

    最近关于Windows 7 方面的博文写了不少,今天收到微软TechNet 邮件,告知有几篇文章已经通过审核发布在TechNet技术资源库中,欣喜之余感觉微软确实为社区技术人员开辟了很广阔的交流空间. ...

最新文章

  1. 无需标注数据,利用辅助性旋转损失的自监督GANs,效果堪比现有最好方法
  2. asp.net ajax控件工具集 AutoCompleteExtender控件
  3. 【转载】Python操作Excel的读取以及写入
  4. React开发(266):ant design customRequest
  5. Mybatis占位符问题—ReflectionException: There is no getter for property named xxx
  6. asp.net网站编码测试
  7. php.ini用哪个,php.ini:哪一个?
  8. python实例 87,88
  9. hdu 1257 最少拦截系统 (DP)
  10. Eigen官网教程(6) Map类
  11. HTML(1)--- HTML5教程
  12. Google 发布开源库 TFQ,快速建立量子机器学习模型!
  13. Photoshop 2020 for Mac(PS 2020)中英双版
  14. C语言函数未声明错误,switch 调用函数 错误未定义???
  15. 服务器ip被封一般是什么情况?
  16. 分布式应用之分布式缓存
  17. PS图片批量自动排版
  18. IndexError: list index out of range 错误原理及解决方法(python)
  19. Tecohoo VD-182U 全高清视频会议摄像机
  20. ac9260网卡linux,#Linux# 在OpenSUSE下安装9260AC驱动

热门文章

  1. python yaml dump_Python yaml.safe_dump方法代码示例
  2. 如何通过SOLIDWORKS driveworksxpress初步实现参数化设计
  3. Opencv For Unity2.3.4 所有场景预览
  4. 论文笔记 Enhancing the Locality and Breaking the MemoryBottleneck of Transformer on Time Series Forecas
  5. 如何通过FAT32 U盘安装Windows10
  6. Rainbow Brackets使用
  7. 单片机课设-数码管倒计时显示(仿真图,代码全)
  8. 青瓦长忆旧事雨,朱伞深巷无故人。。。
  9. WIN10下安装Ubuntu18.04.5双系统+RTX3070独显不太成功安装方法(可参考)
  10. openwrt添加新平台支持