前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言的ggplot2做共线性结果可视化的第一篇笔记

R语言的ggplot2做共线性结果可视化的第一篇笔记

作者头像
用户7010445
发布2021-04-21 15:56:02
1.7K0
发布2021-04-21 15:56:02
举报
文章被收录于专栏:小明的数据分析笔记本

今天有人问到了下面这幅图应该如何实现,自己还真没有思路

image.png

去找了找 ggplot2 做弦图(chord plot)的资料,没有找到。猜测这个图可能是借助 circlize 包 实现的,比如这个链接里的代码 https://www.r-graph-gallery.com/122-a-circular-plot-with-the-circlize-package.html 最终的效果是

image.png

这个图的外面两圈和推文开头的就有点像了。circlize这个R包还得好好学一下

找资料的时候发现了另外一个比较有用的函数,是ggforce 这个包里的 geom_diagonal_wide() 函数 ,感觉如果用来展示共线性分析的结果非常合适,它最终的效果是

image.png

代码
代码语言:javascript
复制
library(ggforce)
data <- data.frame(
  x = c(1, 2, 2, 1, 2, 3, 3, 2),
  y = c(1, 2, 3, 2, 3, 1, 2, 5),
  group = c(1, 1, 1, 1, 2, 2, 2, 2)
)

ggplot(data) +
  geom_diagonal_wide(aes(x, y, group = group),
                     color="red",
                     fill="green",
                     alpha=0.2)+
  theme_bw()+
  theme(panel.grid = element_blank())

image.png

画两个矩形当做染色体
代码语言:javascript
复制
df1 <- data.frame(
  x = c(1,156123,156123,1,1,156342,156342,1),
  y = c(5.8,5.8,6,6,1,1,1.2,1.2),
  group = c(rep("Chr01",4),rep("Chr02",4))
)
df1

ggplot() +
  geom_diagonal_wide(data=df1,
                     aes(x, y, group = group,fill=group),
                     alpha=0.5,color="black")+
  theme_bw()+
  theme(panel.grid = element_blank())

image.png

如果有一个共线性区域的话
代码语言:javascript
复制
df1 <- data.frame(
  x = c(1,156123,156123,1,1,156342,156342,1),
  y = c(5.8,5.8,6,6,1,1,1.2,1.2),
  group = c(rep("Chr01",4),rep("Chr02",4))
)
df1

df2 <- data.frame(
  x = c(1000,11000,5000,90000),
  y = c(5.8,5.8,1.2,1.2),
  group = "A"
)
ggplot() +
  geom_diagonal_wide(data=df1,
                     aes(x, y, group = group,fill=group),
                     alpha=0.5,color="black")+
  geom_diagonal_wide(data=df2,
                     aes(x, y, group = group),
                     alpha=0.2,color="black",
                     fill="blue")+
  theme_minimal()+
  theme(panel.grid = element_blank(),
        axis.title = element_blank(),
        axis.text = element_blank())

image.png

好了,今天的内容就先到这里,后面有想法再来记录

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码
  • 画两个矩形当做染色体
  • 如果有一个共线性区域的话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档