R手册(Visualise)--GGally(ggplot2 extensions)

2023-11-18

本站已停止更新,查看最新内容请移至本人博客 Wilen’s Blog

返回ggplot2扩展主目录

GGally

GGally通过添加几个函数来扩展ggplot2,以降低geom与转换数据组合的复杂性。其中一些功能包括配对图矩阵,散点图矩阵,平行坐标图,生存图,以及绘制网络的几个函数。

ggmatrix: ggplot2矩阵

用法

ggmatrix()

参数
plots:将要列入矩阵的图形列表
nrow, ncol:行数和列数
xAxisLabels, yAxisLabels:# x标签和y标签。设置NULL为不显示
title, xlab, ylab:标题,x标签和y标签。设置NULL为不显示
byrow:布尔值,用于确定图应该按行还是按列排序
showStrips:布尔值来确定是否应显示每个图块。NULL将仅默认为顶部和右侧地块。
showAxisPlotLabels, showXAxisPlotLabels, showYAxisPlotLabels:布尔值,用于确定绘图轴标签是否打印在绘图矩阵的X(底部)或Y(左侧)部分。

plotList <- list()
for (i in 1:6) {
  plotList[[i]] <- ggally_text(paste("Plot #", i, sep = ""))
}

pm <- ggmatrix(
  plotList,           #将要列入矩阵的图形列表
  nrow = 2, ncol = 3, # 行数和列数
  xAxisLabels = c("A", "B", "C"),  #x标题。设置NULL为不显示
  yAxisLabels = c("D", "E"),
  by
  title = "Matrix Title"
)
pm
pm <- pm + theme_bw()   #可以添加ggplot2主题
p2 <- pm[1,2]           #也可以提取子集使用
p3 <- pm[1,3]

matrix

ggpairs:ggplot2广义配对图

选定列映射

data(tips, package = "reshape")
pm <- ggpairs(tips, mapping = aes(color = sex), 
  columns = c("total_bill", "time", "tip"),columnLabels = c("Total Bill", "Time of Day", "Tip"))
pm

2

矩阵部分
成对矩阵有三个主要部分:lower,upper,和diag。lower和upper包含三个类型:continuous,combo,和discrete。diag只包含continuous或者discrete。

  • continuous:X和Y都是连续变量
  • combo:一个是离散的,而另一个是连续的
  • discrete:X和Y都是离散变量

要对每个部分进行调整,需要提供一个信息列表。该列表可以由以下元素组成:

  • continuous:
    • 表示ggally_NAME函数尾部的字符串或自定义函数
    • 当前有效的upper$continuouslower$continuous字符串:‘points’,‘smooth’,‘density’,‘cor’,‘blank’
    • 当前有效的diag$continuous字符串:‘densityDiag’,‘barDiag’,‘blankDiag’
  • combo:
    表示ggally_NAME函数尾部的字符串或自定义函数。(不适用于diag列表)
    当前有效的upper$combolower$combo字符串:‘box’,‘dot’,‘facethist’,‘facetdensity’,‘denstrip’,‘blank’
  • discrete:
    • 表示ggally_NAME函数尾部的字符串或自定义函数
    • 当前有效的upper$discretelower$discrete字符串:‘ratio’,‘facetbar’,‘blank’
    • 当前有效的diag$discrete字符串:‘barDiag’,‘blankDiag’
  • mapping:如果提供了映射,则只会覆盖该部分的映射
library(ggplot2)
pm <- ggpairs(
  tips, columns = c("total_bill", "time", "tip"),
  lower = list(
    continuous = "smooth",
    combo = "facetdensity",
    mapping = aes(color = time)
  )
)
pm

3

自定义函数
这些ggally_NAME函数不提供所有图形选项。一个自定义函数可以代替供给字符串到continuous,combo或discrete内的元件upper,lower或diag。

自定义函数应该遵循:只要返回一个ggplot2对象即可

custom_function <- function(data, mapping, ...){
  # produce ggplot2 object here
}
my_bin <- function(data, mapping, ..., low = "#132B43", high = "#56B1F7") {
  ggplot(data = data, mapping = mapping) +
    geom_bin2d(...) +
    scale_fill_gradient(low = low, high = high)
}
pm <- ggpairs(
  tips, columns = c("total_bill", "time", "tip"),
  lower = list(
    continuous = my_bin
  )
)
pm

4

函数包装
上面的例子使用每个子图的默认参数。要更改默认的参数binwidth设置,我们将使用wrap函数。wrap第一个参数是一个字符串或一个自定义函数。提供给wrap的其余参数将在运行时提供给函数。

pm <- ggpairs(
  tips, columns = c("total_bill", "time", "tip"),
  lower = list(
    combo = wrap("facethist", binwidth = 1),
    continuous = wrap(my_bin, binwidth = c(5, 0.5), high = "red")
  )
)
pm

取矩阵子集和添加主题

p <- pm[3,1]  # 取子集
p <- p + aes(color = time)
p + theme_bw() #添加主题

ggscatmat:纯粹定量变量的传统散点图矩阵

ggscatmat(data, columns = 1:ncol(data), color = NULL, alpha = 1, corMethod = "pearson")

比ggpairs更快,因为需要做出更少的选择。它创建了一个矩阵,其中包含对角线下的散点图,对角线的密度图以及对角线上的相关系数。

data(flea)
ggscatmat(flea, columns = 2:4, color="species", alpha=0.8)

5

其余函数待更新

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R手册(Visualise)--GGally(ggplot2 extensions) 的相关文章

随机推荐

  • 如何获取Windows软件安装信息

    猜你感兴趣 使用Pyqt5玩转ChatGpt 内网文件共享服务 快速搭建私有pip镜像源 python设计模式 创建型模式 docker搭建私有git服务器 项目备份和迁移 redis持久化方案 说明 windows注册表中有两支子健存储有
  • Swagger3 注解使用(Open API 3.0)

    文章目录 前言 一 swagger 3 的使用 Swagger SpringFox 3 0 相关特性 SpringDoc 二 从 spring fox 迁移到 springdoc 三 使用 swagger3 注解代替 swagger2 的
  • 【算法/剑指Offer】从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

    题目描述 从上到下按层打印二叉树 同一层结点从左至右输出 每一层输出一行 struct TreeNode int val struct TreeNode left struct TreeNode right TreeNode int x v
  • (Oracle基础篇) Select检索数据

    Select语句语法 Select语句是日常使用最多的语句 它以select开头 其中最重要的部分就是Select和From关键字 这两项是查询当中必须的部分 其他子句可以根据实际的需求进行变动 获取指定字段数据代码 查询指定字段数据实例代
  • 如何在Jupyter Notebook中使用Tensorflow

    下边是原文链接 中文翻译如下 http stackoverflow com questions 35771285 using tensorflow through jupyter python 3 解决该问题主要参考Using a virt
  • 7个学习UI、UX设计一定要经历的步骤

    我们不是一些有才华的设计师 我们天生就有艺术天赋 后天我们学会了设计技巧 设计的根本目的是解决问题 设计是不断发现和解决问题 有许多设计领域 UI UX 产品设计师 平面设计师 交互设计师 信息架构师等 所以要找出你最感兴趣的设计专业 现在
  • 【C++入门】新增nullptr关键字详解

    1 C和C 中NULL的区别 ifdef cplusplus 定义这个符号就表示当前是C 环境 define NULL 0 在C 中NULL就是0 else define NULL void 0 在C中NULL是强制类型转换为void 的0
  • 使用externals配置,在VUE 工程中引入外部js文件,减少打包时间

    以VUE项目中引入echarts文件为例 第一步在VUE项目中找到index html文件 引入 第二步 在项目找到 build gt webpack base conf js module exports externals echart
  • CTF--web学习

    这是大二上学期主要学习的一些知识 分享一下 一 linux常见命令 Linux切换到超级管理员 sudo su 切换到普通用户 su username touch创建文件 mkdir创建文件夹 mkdir p aaa bbb ccc创建aa
  • Jupyter:数据分析和网络爬虫开发利器

    Jupyter是一种流行的数据分析和网络爬虫开发工具 它具有许多功能 使得在各种语言 如Python R和Julia 中编写 测试和调试代码变得简单 Jupyter的一个优点是 它允许用户在Web浏览器中与数据和可视化进行交互 无需在本地计
  • 解决webview不显示图片常用方法,亲测有效

    左图不显示图片 右边是解决后显示的 我是先截右边再截左边 所以时间上右边的早了 都有的代码如下 项目中用的dataBinding数据绑定 mBinding wvBaseWebView指的是webview控件 mBinding wvBaseW
  • STM32:Custom HID实现USB双向通信

    本文章主要讲了使用STM32的USB Device 实现控制板和电脑通信功能 从而实现 上位机对控制板进行调试 USB Device可以有多种类型 实现双向通信的话 推荐使用Custom HID类型 首先使用STM32CubeMx实现功能引
  • ffmpeg 音频常用命令

    ffmpeg的使用方式 ffmpeg options infile options i infile outfile options outfile Stream specifier Some options are applied per
  • Log4j学习笔记

    用了三四年的C 转向Java的怀抱 还是有诸多的不适应 C 中不论多复杂的Server 只要有GDB在手 总感觉debug都不是啥大事 程序运行期间的各种状态 都可以通过GDB轻松的获取到 而到了Java中 总感觉像是被困住了手脚 有力没法
  • 【JavaScript】npm、Yarn 和 pnpm 的区别

    npm Yarn 和 pnpm 都是用于管理和构建 JavaScript 项目的包管理工具 以下是它们之间的一些区别和特点 npm Node Package Manager npm 是 Node js 官方提供的包管理工具 是 JavaSc
  • 什么是数据中心IP,优缺点是什么?

    如果根据拥有者或者说发送地址来分类的话 可以将代理分为三类 数据中心ip 住宅ip 移动ip 本文我们来了解数据中心ip的原理以及他们的优势劣势 才能选择适合自己的代理 一 什么是数据中心ip代理 数据中心ip是由数据中心拥有和管理的IP的
  • Air780E

    目录 基础资料 探讨重点 实现功能 硬件准备 软件版本 在雁飞格物平台上创建产品 1 创建产品 2 查看雁飞格物平台接入协议 组成ClientId 组成userName 3 设备鉴权信息 鉴权参数计算 python版 4 MQTT直连雁飞格
  • 目标检测之选择性搜索算法实现(符动图演示)

    定义 选择性搜索是在对象检测中使用的区域提议算法 它的设计速度很快 召回率很高 它基于基于颜色 纹理 大小和形状兼容性的相似区域的分层分组计算 操作步骤 首先使用 Felzenszwalb 和 Huttenlocher 基于图像的分割方法
  • clouddrive挂载阿里云盘之后文件不显示

    clouddrive挂载阿里云盘之后文件不显示 此问题是小概率版本bug 待更新后解决 目前解决方案 重新挂载登录刷新
  • R手册(Visualise)--GGally(ggplot2 extensions)

    本站已停止更新 查看最新内容请移至本人博客 Wilen s Blog 文章目录 GGally ggmatrix ggplot2矩阵 ggpairs ggplot2广义配对图 ggscatmat 纯粹定量变量的传统散点图矩阵 返回ggplot