可视化系列汇总——群体关系
引言
在进行数据分析时,免不了对结果进行可视化。那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点:
- 能正确传递信息,而不会产生歧义;
- 样式简单,但是易于理解;
- 添加的图形美学应辅助理解信息;
- 图形上不应出现冗余无用的信息。
本系列推文,小编将汇总可视化中常用 7 大类型图形,供读者参考。每类制作成一篇推文,主要参考资料为:Top 50 ggplot2 Visualizations。其他类似功能网站,资料包括:
庄闪闪的可视化笔记——常用图形
R Graph Gallery
《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))
可视化系列汇总——群体关系相关推荐
- 可视化系列汇总——相关关系图形
引言 在进行数据分析时,免不了对结果进行可视化.那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点: 能正确传递信息,而不会产生歧义: 样式简单,但是易于理解: 添加的图形美学应辅助 ...
- 可视化系列汇总——偏差
引言 在进行数据分析时,免不了对结果进行可视化.那么,什么样的图形才最适合自己的数据呢?一个有效的图形应具备以下特点: 能正确传递信息,而不会产生歧义: 样式简单,但是易于理解: 添加的图形美学应辅助 ...
- 数据可视化系列-05数据分析报告
文章目录 数据可视化系列-05数据分析报告 1.了解初识数据分析报告 数据分析报告简介 数据分析报告的作用 报告的能力体现 报告编写的原则 报告种类 2.掌握数据分析报告结构 标题页 目录 前言 正文 ...
- 数据可视化系列-01大数据可视化基础
文章目录 1.概述 2.大数据可视化基础 2.1 数据可视化基础知识 1.数据可视化简史: 2.数据可视化是什么: 3.数据可视化的分类: 4.数据可视化流程: 5.数据可视化的意义: 2.2 认识B ...
- 数据可视化系列(二):艺术画笔见乾坤
前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打劳基础~ 大家可以多看看官方教程: 中文官方网站:http ...
- 数据可视化系列(一):Matplotlib初相识
前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打捞基础~ 大家可以多看看官方教程: 中文官方网站:http ...
- Linux视频教程系列汇总
Linux视频教程系列汇总 该系列视频涉及Linux学习的方方面面,入门的.高级的.编程的.安全的,都有了,每一套都很完整. 由于文件比较大,全部使用FTP发布的,建议使用能重复连接的下载工具(如迅雷 ...
- 数据可视化系列(三):布局格式定方圆
前言 期待了好久的datawhale可视化教程终于出来了,这次标题狠有文艺范儿,哈哈哈 这次我主要目的是最近要写篇论文,也正好为以后建模画图打劳基础~ 大家可以多看看官方教程: 中文官方网站:http ...
- TechNet 晒文 - Windows 7 系列汇总
最近关于Windows 7 方面的博文写了不少,今天收到微软TechNet 邮件,告知有几篇文章已经通过审核发布在TechNet技术资源库中,欣喜之余感觉微软确实为社区技术人员开辟了很广阔的交流空间. ...
最新文章
- 无需标注数据,利用辅助性旋转损失的自监督GANs,效果堪比现有最好方法
- asp.net ajax控件工具集 AutoCompleteExtender控件
- 【转载】Python操作Excel的读取以及写入
- React开发(266):ant design customRequest
- Mybatis占位符问题—ReflectionException: There is no getter for property named xxx
- asp.net网站编码测试
- php.ini用哪个,php.ini:哪一个?
- python实例 87,88
- hdu 1257 最少拦截系统 (DP)
- Eigen官网教程(6) Map类
- HTML(1)--- HTML5教程
- Google 发布开源库 TFQ,快速建立量子机器学习模型!
- Photoshop 2020 for Mac(PS 2020)中英双版
- C语言函数未声明错误,switch 调用函数 错误未定义???
- 服务器ip被封一般是什么情况?
- 分布式应用之分布式缓存
- PS图片批量自动排版
- IndexError: list index out of range 错误原理及解决方法(python)
- Tecohoo VD-182U 全高清视频会议摄像机
- ac9260网卡linux,#Linux# 在OpenSUSE下安装9260AC驱动
热门文章
- python yaml dump_Python yaml.safe_dump方法代码示例
- 如何通过SOLIDWORKS driveworksxpress初步实现参数化设计
- Opencv For Unity2.3.4 所有场景预览
- 论文笔记 Enhancing the Locality and Breaking the MemoryBottleneck of Transformer on Time Series Forecas
- 如何通过FAT32 U盘安装Windows10
- Rainbow Brackets使用
- 单片机课设-数码管倒计时显示(仿真图,代码全)
- 青瓦长忆旧事雨,朱伞深巷无故人。。。
- WIN10下安装Ubuntu18.04.5双系统+RTX3070独显不太成功安装方法(可参考)
- openwrt添加新平台支持