公众号后台回复“图书“,了解更多号主新书内容
作者:宁海涛
来源:DataCharm
今天这篇推文小编给大家介绍一下各种矩阵图的绘制,让你用可视化方式展现变量之间的关系。R-GGally包就可以轻松绘制配对图矩阵、散点图矩阵、平行坐标图和生存图等。主要内容如下:
R-GGally包简介
R-GGally包主要函数示例
R-GGally包简介
作为R-ggplot2的拓展包,其可以通过添加定义好的绘图函数绘制例如散点图矩阵、平行坐标图等统计图表。
官网
https://ggobi.github.io/ggally/index.html
主要绘图函数简介
ggmatrix():用于管理矩阵状布局中的多图的绘图函数,其可适应任何数量的行和列。
ggpairs():作为ggmatrix()的一种特殊形式,可实现对多元数据进行成对比较。默认情况下,ggpairs()提供每对列的两次不同比较,并沿对角线显示相应变量的密度或计数。通过不同的参数设置,可将对角线替换为轴值或者变量标签。
ggduo():在绘图矩阵中用于显示两个分组数据,比较适用于多时间序列分析和回归分析。
ggally_()*: 用于绘制多种高级图表。
ggbivariate():用于地绘制一个结果和几个解释变量之间的双变量关系的可视化图。
ggnostic():用于显示每个给定解释变量的完整模型诊断。
ggscatmat():用于数字矩阵图绘制。
ggtable():用于绘制绘制离散变量的交叉表。
ggcoef_model():用于绘制模型的系数。
ggnetworkmap():用于绘制各种精美的地图。
以上就是R-GGally包较为常用的绘图包,接下来,小编将通过具体例子进行讲解,当然包括定制化美化操作哈~
R-GGally包主要函数示例
ggmatrix()绘图函数
plotList <- list()
for (i in 1:6) {
plotList[[i]] <- ggally_text(paste("Plot #", i, sep = ""),color = I("#0057FF"))
}
#可视化绘制
ggmatrix <- GGally::ggmatrix(
plotList,
nrow = 2, ncol = 3,
xAxisLabels = c("A", "B", "C"),
yAxisLabels = c("D", "E"),
title = "Matrix Title",
byrow = FALSE) +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggmatrix function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggmatrix()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/c5601b092a83e4122334940a70ab0e1b.png)
ggpairs()绘图函数
data(tips, package = "reshape")
ggpairs <- GGally::ggpairs(tips, mapping = aes(fill = sex,color=sex),
columns = c("total_bill", "time", "tip")) +
ggsci::scale_fill_jco() +
ggsci::scale_color_jco() +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggpairs function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggpairs()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
#hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme_bw(base_family = "Roboto Condensed")+
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/17c627ea08d435364182cbd6951e29a1.png)
ggally_*系列
ggally_cross()
plot01 <- ggally_cross(tips, aes(x = day, y = smoker, fill = smoker)) +
ggsci::scale_fill_jco() +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggally_cross function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggally_cross()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/dd003ff0222bbd7fedacb3f30e0ae09c.png)
ggally_densityDiag()
plot02 <- ggally_densityDiag(tips, aes(x = day, fill = time)) +
ggsci::scale_fill_jco() +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggally_densityDiag function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggally_densityDiag()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/7b70b857fd37e99b81f0b6e5849d8a76.png)
ggbivariate()绘图函数
ggbivariate <- ggbivariate(tips, outcome = "smoker",
explanatory = c("day", "time", "sex", "tip"),
rowbar_args = list(
colour = "white",
size = 3,
fontface = "bold",
label_format = scales::label_percent(accurary = 1)
)) +
ggsci::scale_fill_jco() +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggbivariate function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggbivariate()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
#hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme_light(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/aedbd054ef92f42b4f783f6de81670d2.png)
ggnostic()绘图函数
# 构建模型
flea_model <- step(lm(head ~ ., data = flea), trace = FALSE)
ggnostic <- ggnostic(flea_model) +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggnostic function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggnostic()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
#hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme_light(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/48eaed56abb718f8a809eb9e0fc049be.png)
ggcoef_model()绘图函数
library(labelled)
# 数据处理
tips_labelled <- tips %>%
labelled::set_variable_labels(
day = "Day of the week",
time = "Lunch or Dinner",
total_bill = "Bill's total"
)
mod_labelled <- lm(tip ~ day + time + total_bill, data = tips_labelled)
ggcoef_model <- ggcoef_model(mod_labelled,colour_guide = TRUE) +
ggsci::scale_color_aaas() +
labs(
title = "Example of <span style='color:#D20F26'>GGally::ggcoef_model function</span>",
subtitle = "processed charts with <span style='color:#1A73E8'>ggcoef_model()</span>",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +
#hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +
theme_light(base_family = "Roboto Condensed") +
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",face = 'bold',
size = 20, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12))
![](https://img-blog.csdnimg.cn/img_convert/e7257c3ab708786a6130272547a50ff5.png)
以上就是小编汇总的R-GGally包常用的绘图函数,更多样例和使用语法,感兴趣的小伙伴可去官网进行查阅。
总结
这篇推文,小编简单介绍了“矩阵类”多变量可视化图表,可以看出R-GGally包绘制类似的可视化图表非常方便(大部分图表一行代码就可搞定),当然,小编介绍的只是最基本的,更多内容,大家可查询官网获取相关资料哈~~
◆ ◆ ◆ ◆ ◆麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗