大数跨境
0
0

ggsimplex优雅的绘制三角密度图

ggsimplex优雅的绘制三角密度图 R语言数据分析指南
2023-02-12
1

本节来介绍一款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(01), ylim=c(01))+
  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(01), ylim=c(01))+
  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(123))

ggplot() +
  coord_fixed(ratio=1, xlim=c(01), ylim=c(01))+
  theme_void() +
  geom_simplex_canvas() + 
  stat_simplex_density(data=df_dirichlet, fun = ddirichlet,
                       args = alist(Alpha=Alpha))

叠加点图与密度图

ggplot() +
  coord_fixed(ratio=1, xlim=c(01), ylim=c(01))+
  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(00)
Sigma_1 = matrix(c(1001), nrow=2, byrow=TRUE)
data_1 = data.frame(true_model = 1
                    rlogistic_normal(n = 100, mu = mu_1, Sigma = Sigma_1))

mu_2 = c(00)
Sigma_2 = matrix(c(0.3000.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(00)
Sigma_3 = matrix(c(0.50.30.31), 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(01), ylim=c(01))+
  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绘制森林图


【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读531
粉丝0
内容1.2k