❝本节来介绍一款R包ggsimplex主要用来绘制三角形密度图及点图,此包的介绍文档很是详细作者有丰富的案例,详细的文档请参考作者的官方文档。下面来介绍该R包的几个小例子。
❞
官方文档
❝https://www.marvinschmitt.com/blog/ggsimplex-prerelease/
❞
❝❞
有需要学习数据可视化案例的朋友欢迎购买小编2023的VIP文档,「初始价格依然是99元」随着人数增多后期会调整价格;有需要的朋友欢迎到小编的淘宝店铺「R语言数据分析指南」下单。
付费后小编会邀请分享文档链接,小编每次更新后会同步内容。「期待大家都能真正掌握R语言数据分析及可视化的能力」
淘宝店铺个性化绘图服务
❝有需要找小编做个性化绘图的朋友欢关注「淘宝店铺(R语言数据分析指南)」 有需求者可咨询下单。
❞
安装加载R包
devtools::install_github('marvinschmitt/ggsimplex')
library(tidyverse)
library(ggsimplex)
设置画布
ggplot() +
coord_fixed(ratio=1, xlim=c(0, 1), ylim=c(0, 1))+
theme_void() +
geom_simplex_canvas()
定义数据
library(brms)
data = rdirichlet(n = 100, alpha = c(1,2,3))
data = as.data.frame(data)
colnames(data) = c("pmp_1", "pmp_2", "pmp_3")
data$pmp = with(data, make_list_column(pmp_1, pmp_2, pmp_3))
绘制点图
ggplot() +
coord_fixed(ratio=1, xlim=c(0, 1), ylim=c(0, 1))+
theme_void() +
geom_simplex_canvas() +
geom_simplex_point(data = data, aes(pmp = pmp),
size = 0.7, color = "firebrick", alpha = 0.8)
绘制密度图
df_dirichlet = data.frame(true_model = 1)
df_dirichlet$Alpha = list(c(1, 2, 3))
ggplot() +
coord_fixed(ratio=1, xlim=c(0, 1), ylim=c(0, 1))+
theme_void() +
geom_simplex_canvas() +
stat_simplex_density(data=df_dirichlet, fun = ddirichlet,
args = alist(Alpha=Alpha))
叠加点图与密度图
ggplot() +
coord_fixed(ratio=1, xlim=c(0, 1), ylim=c(0, 1))+
theme_void() +
geom_simplex_canvas() +
stat_simplex_density(data=df_dirichlet, fun = ddirichlet,
args = alist(Alpha=Alpha)) +
geom_simplex_point(data = data, aes(pmp = pmp),
size = 0.7, color = "firebrick", alpha = 0.8)
自定义构建数据
mu_1 = c(0, 0)
Sigma_1 = matrix(c(1, 0, 0, 1), nrow=2, byrow=TRUE)
data_1 = data.frame(true_model = 1,
rlogistic_normal(n = 100, mu = mu_1, Sigma = Sigma_1))
mu_2 = c(0, 0)
Sigma_2 = matrix(c(0.3, 0, 0, 0.3), nrow=2, byrow=TRUE)
data_2 = data.frame(true_model = 2,
rlogistic_normal(n = 100, mu = mu_2, Sigma = Sigma_2))
mu_3 = c(0, 0)
Sigma_3 = matrix(c(0.5, 0.3, 0.3, 1), nrow=2, byrow=TRUE)
data_3 = data.frame(true_model = 3, rlogistic_normal(n = 100, mu = mu_3, Sigma = Sigma_3))
data = rbind(data_1, data_2, data_3)
colnames(data) = c("true_model", "pmp_1", "pmp_2", "pmp_3")
data$pmp = with(data, make_list_column(pmp_1, pmp_2, pmp_3))
df_logistic_normal = data.frame(true_model = 1:3)
df_logistic_normal$mu = list(mu_1, mu_2, mu_3)
df_logistic_normal$Sigma = list(Sigma_1, Sigma_2, Sigma_3)
绘制分面图
ggplot() +
coord_fixed(ratio=1, xlim=c(0, 1), ylim=c(0, 1))+
theme_void() +
geom_simplex_canvas() +
stat_simplex_density(data=df_logistic_normal, fun = dlogistic_normal,
args = alist(mu = mu, Sigma = Sigma)) +
geom_simplex_point(data = data, aes(pmp = pmp),
size = 0.7, color = "firebrick", alpha = 0.3) +
facet_grid(~true_model, labeller=label_both)
❝上面的几个例子只是此款R包的一部分,更多详细的内容请参考作者官方文档;好了本节介绍到此结束,
❞喜欢的观众老爷欢迎分享转发,「当然更推荐大家加入我的VIP交流群」扫描下方二维码加小编微信「付费99元」后邀请进群,「一定让你感受到物超所值」,「添加小编微信请备注来意,以便高效处理」
小编微信

关注下方公众号下回更新不迷路
[会员专享] circlize绘制复杂基因组图
ggplot2优雅绘制山脊图(进阶版)
[会员专享] imeta图表复现之相关性组合热图
R自制调色盘之浪浪山的夏天
ggtree绘制带有图像轮廓的系统发育树
ggeadar高度自定义你的雷达图
funkyheatmap优雅的可视化数据框热图
ggplot2带你组合绘制桑基图+富集分析图
[会员专享] NC图表复现之华夫热图
[会员专享] 再谈ggplot2绘制森林图

