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() |
ggpairs: ggplot2广义配对图
选定列映射
data(tips, package = "reshape") |
矩阵部分
成对矩阵有三个主要部分: lower,upper,和diag。lower和upper包含三个类型: continuous,combo,和discrete。diag只包含continuous或者discrete。
- continuous: X和Y都是连续变量
- combo: 一个是离散的,而另一个是连续的
- discrete: X和Y都是离散变量
要对每个部分进行调整,需要提供一个信息列表。该列表可以由以下元素组成:
- continuous:
- 表示ggally_NAME函数尾部的字符串或自定义函数
- 当前有效的
upper$continuous
和lower$continuous
字符串: ‘points’,‘smooth’,‘density’,‘cor’,‘blank’ - 当前有效的
diag$continuous
字符串: ‘densityDiag’,‘barDiag’,‘blankDiag’
- combo:
表示ggally_NAME函数尾部的字符串或自定义函数。(不适用于diag列表)
当前有效的upper$combo
和lower$combo
字符串: ‘box’,‘dot’,‘facethist’,‘facetdensity’,‘denstrip’,‘blank’ - discrete:
- 表示ggally_NAME函数尾部的字符串或自定义函数
- 当前有效的
upper$discrete
和lower$discrete
字符串: ‘ratio’,‘facetbar’,‘blank’ - 当前有效的
diag$discrete
字符串: ‘barDiag’,‘blankDiag’
- mapping: 如果提供了映射,则只会覆盖该部分的映射
library(ggplot2) |
自定义函数
这些ggally_NAME函数不提供所有图形选项。一个自定义函数可以代替供给字符串到continuous,combo或discrete内的元件upper,lower或diag。
自定义函数应该遵循: 只要返回一个ggplot2对象即可
custom_function <- function(data, mapping, ...){ |
my_bin <- function(data, mapping, ..., low = "#132B43", high = "#56B1F7") { |
函数包装
上面的例子使用每个子图的默认参数。要更改默认的参数binwidth设置,我们将使用wrap函数。wrap第一个参数是一个字符串或一个自定义函数。提供给wrap的其余参数将在运行时提供给函数。
pm <- ggpairs( |
取矩阵子集和添加主题
p <- pm[3,1] # 取子集 |
ggscatmat: 纯粹定量变量的传统散点图矩阵
ggscatmat(data, columns = 1:ncol(data), color = NULL, alpha = 1, corMethod = "pearson") |
比ggpairs更快,因为需要做出更少的选择。它创建了一个矩阵,其中包含对角线下的散点图,对角线的密度图以及对角线上的相关系数。
data(flea) |
其余函数待更新
评论