R高级绘图

您所在的位置:网站首页 bubble怎么用的 R高级绘图

R高级绘图

2024-07-17 12:36| 来源: 网络整理| 查看: 265

新系列 —— R高级绘图,准备整理所有曾经绘制过的图图和未来需要的图图们的代码!预计这个系列会囊括所有常见图形,只提供高级绘图代码,基础绘图主要在 R语言绘图 系列中进行介绍,这个系列咱们主打:需要XX图?没问题!来这里!找到你要画的图!点进去!直接复制粘贴RUN!

更新顺序随机,小伙伴们有急需想要的图图也可以后台告诉我!我给它优先更新!

带显著性标记的相关性气泡图

首先我们先介绍一下什么是相关性气泡图!

相关性气泡图(Correlation Bubble Plot)是一种用于可视化两个变量之间相关性的图形。该图通常用气泡(圆圈)表示数据点,其中气泡的大小表示两个变量之间的相关性强度,而气泡的颜色则可能表示第三个变量的值。相关性气泡图有助于帮助我们更直观地展示变量之间的关系,包括其强度和方向等等。

这就是一个简单的相关性气泡图:

一般情况下,相关性气泡图在以下几种情境中会被使用:

探索性数据分析(Exploratory Data Analysis): 在数据分析的初期阶段,相关性气泡图可以用来发现变量之间的关系,帮助我们快速了解数据集的特征。多变量分析: 当涉及多个变量时,相关性气泡图能够同时展示多个变量之间的相关性,从而更全面地理解数据。……(头脑风暴开启!)

我们举一个相关性气泡图用于分析基因表达数据的例子帮助大家理解:

假设我们有一个基因表达矩阵,其中包含多个基因在不同样本中的表达水平。我们想要了解哪些基因在表达上存在相关性,同时考虑到这些基因在不同样本中的变化。我们可以使用相关性气泡图来实现这一目的。在这个图中,每个气泡代表一个基因对,气泡的横坐标和纵坐标分别表示两个基因的表达水平,气泡的大小表示这两个基因之间的相关性强度,而气泡的颜色表示这两个基因的共表达模式在不同样本中的变化。

通过观察相关性气泡图,我们可以快速识别具有高度相关性的基因对,从而进一步深入研究它们在生物学过程中的角色。这有助于揭示基因之间的协同作用、通路关联等信息,为我们的研究提供重要线索。

但是一般的相关性气泡图中只会展示两个基因之间的相关性强度和方向,那如果我们还想要了解它们的相关性是否显著,我们就可以绘制带显著性标记的相关性气泡图(Correlation Bubble Plot with Significance),把P值用颜色进行展示。这样不仅能够展示基因之间的关系,还能够突出显示那些在统计学上具有显著相关性的基因对。

绘图代码

为了方便大家复现,数据我们使用的是R自带的mtcars数据集(大家替换为自己的数据即可,记得与示例数据格式保持一致)。

# 带显著性标记的相关性气泡图(Correlation Bubble Plot with Significance) # 数据展示 head(mtcars) # mpg cyl disp hp drat wt qsec vs am gear carb # Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 # Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 # Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 # Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 # Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 # Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 # 行为样本,列为变量,把你的数据也整理成这样就可以啦! # 开始画图图! # 加载包,没安装的记得安装一下哟! library(corrr) # remotes::install_github("Hy4m/linkET") library(linkET) library(tidyverse) library(ggnewscale) # 设置颜色向量用于填充气泡,展示相关性强度 col_cor = c('#025259', '#007172', '#f4e2de', '#f29325', '#d94f04') # 设置颜色向量用于气泡背景板,展示显著性水平,也就是P值大小 col_p % as_md_tbl() %>% # 添加新列,计算相关系数的绝对值,将行名和列名处理为合适的格式 mutate( ra = abs(r), rownames = as.factor(.rownames |> str_to_title()), colnames = factor(.colnames |> str_to_title(), levels = rev(levels(rownames))), p = case_when( p % # 使用ggplot创建相关性气泡图 ggplot(aes(x = rownames, y = colnames)) + # 添加矩形瓦片,用颜色表示显著性水平 geom_tile(aes(fill = p), color = 'black') + # 设置填充颜色的手动比例尺 scale_fill_manual(values = col_p) + # 设置气泡大小的比例尺,大小表示相关性的绝对值 scale_size(name = 'abs(r)', range = c(1, 10)) + # 添加新的填充颜色比例尺,用于表示实际相关性的颜色 new_scale('fill') + geom_point(aes(fill = r, size = ra), shape = 21, color = 'black') + scale_fill_gradientn(colours = col_cor) + # 添加新的大小比例尺,用于在气泡中显示相关性的绝对值 new_scale('size') + geom_text(aes(label = round(r, 2), size = ra), color = 'black') + scale_size(name = 'abs(r)', range = c(1, 3.5)) + # 调整坐标轴方向 scale_y_discrete(position = 'right') + scale_x_discrete(position = 'top') + # 设置坐标轴比例相等 coord_fixed() + # 添加图表标题和主题 labs( title = 'Correlogram of mtcars', subtitle = '图虽炫酷,但配色是真的难搞!怎么都丑!一言难尽呐!\n大家尽情发挥审美吧!有好看的请一定戳我!球球了! \n', caption = 'source: mtcars' ) + # 使用极简主题 theme_minimal() + # 设置图表背景和轴标题的样式 theme( plot.background = element_rect(fill = 'white', color = 'white'), axis.title = element_blank(), panel.grid = element_blank() )

这样,相关性强且显著的变量对就被毫不留情地揪出来啦!

是不是超级显眼包!那那那,看在它们这么努力求关注的份上,嘿嘿嘿,那就关注一下吧啊哈哈哈哈哈哈哈哈!

那今天的分享就到这里啦!我们下期再见哟!

最后顺便给自己推荐一下嘿嘿嘿!

如果我的分享对你有用的话,欢迎关注点赞在看转发分享阿巴阿巴阿巴阿巴巴巴!这可是我的第一原动力!

蟹蟹你们的喜欢和支持!!!

啊对!如果小伙伴们有需求的话,也可以加入我们的交流群:一定要知道 | 我们的生信交流群终于来啦!

还有兴趣的话,也可以看看我掏心掏肺的干货满满 | 给生信小白的入门小建议 | 掏心掏肺版!绝对干货满满!

后续这个链接可能会更新,如果小伙伴点开它之后发现,咦,怎么失效啦!不要慌!咱们辛苦一下动动小手去公众号主页的作者精选那里,会有一篇同名的文章,点进去就是啦!

参考资料

https://zhuanlan.zhihu.com/p/654728525



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3