相关文章推荐
八块腹肌的小狗  ·  Qt ...·  8 月前    · 
坚强的梨子  ·  javascript - ...·  1 年前    · 
腹黑的核桃  ·  error C4772: #import ...·  1 年前    · 

python包介绍:使用seaborn绘制密度图(kdeplot函数)

专栏 / python包介绍:使用seaborn绘制密度图(kdeplot函数)

python包介绍:使用seaborn绘制密度图(kdeplot函数)

2022年11月29日 09:24 --阅读 · --喜欢 · 生信小院
粉丝: 97 文章: 95


一软件包介绍

密度图是一种展示与数据组对应的边界或阈对象的可视化方式。简而言之呢,就是展示不同组别数据间的边界以及相互之间的比例。是一种非常形象的展示数据分布的方式(当然,通过条形图、折线图等也可展示,只是不那么美观)。

二 python包使用

1 加载对应的python包


2 加载数据集
之后,加载数据集。这里需要提到的是我们在做推文数据展示的时候会苦恼数据从何而来。创造数据吧,绞尽脑汁也不一定有好的数据,因此如果用自己论文的数据,就...( 论文想不想发了,还毕不毕业了 )。如果用别人论文的数据,又有侵权风险。因此,最好用的方式就是使用公共数据集,不仅数据合理,而且可视化的效果也好。

PS:因为默认情况下seaborn包绘图会有背景和网格,这里需要通过set_style实现去除的效果,各位读者可以按照个人需求增减


其中tips的文件数据为

其中geyser的文件数据为

随后,我们开始各种类型密度图的绘制

3 密度图绘制
3.1 第一种密度图(一维)

首先,直接代码贴上


本段代码共有五句话:1定义输出图片名称;2定义图片大小;3调用包进行绘图;4将图片保存;5关闭绘图窗口。

其中sns.kdeplot参数的意思分别是:

data:数据集

x:数据集中用于绘绘图的列数据

hue:映射以确定绘图元素颜色的语义变量,即元素分类列

multiple:密度图多个元素的绘图方法

随后,一键出图。

图1 密度图

3.2 第二种密度图(一维)

代码意思与第一种密度相差不大,重点再与第三句参数的意思。

fill:如果为真,则填充单变量密度曲线下面积。如果为假,则仅有线条。

common_norm:如果为真,则按观察次数缩放每个条件密度,使所有密度下的总面积总和为1。否则,独立地归一化每个密度。

palette:用于选择映射色调语义时使用的颜色的方法。字符串值被传递到color_palete。如果是列表或dict值表示分类映射,而colormap对象表示数字映射。这里我们的size是数字,应该属于后者,即列表表示分类映射。

alpha:颜色的透明度。

linewidth:每个曲线最外围的线条长度。

图2 密度图

3.3 第三种密度图(二维)


之前的3.1和3.2都是一维数据进行密度图展示,这里我们也提供了另一种方式用于二维数据的密度展示。


图3 密度图

3.4 第四种密度图(二维)

3.3图虽然能够展现二维数据的密度分布,但是太不够直观了,所以这里我们提供一种方式将不同的密度通过颜色深浅进行展示。可以看出中心区域的点密度最高。


图4 密度图

3.5 第五种密度图(二维)

这里的代码新增了两个参数,thresh和levels

thresh:绘制等高线的最低iso比例级别。当级别为向量时忽略。仅与双变量数据相关。

levels: 绘制等高线的等高线级别或值的数量。向量参数必须在[0,1]中具有递增值。水平对应于密度的iso比例:例如,20%的概率质量将低于0.2绘制的等高线。仅与双变量数据相关。

随后,一键出图。 不得不说,这种图片隐隐有那种通过望远镜观察宇宙中遥远双子星系的赶脚。

图5 密度图

三 惯例小结

实际上,数据的展示方式多种多样。本推文所提供的密度图展示方式,虽有其不合理之处,比如会降密度分布超出数据边界,显然是不合理的。但是,对于一些数据而言,该方法能够很好的反应数据的部分特征,则使用该方法也并无不可。 其次,最近为啥更新的少了呢,因为懒了

Multi-omics Hammer软件下载地址:

https://github.com/wangjun258/Multi-omics-Hammer

Multi-omics Visual软件下载地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03

PS:因为本软件是用python脚本撰写,调用了部分依赖包,用户首次使用需要安装python以及对应的包,安装之后便可永久使用。

本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。文末是本公众号在其他平台的账户,也欢迎大家关注并多提意见。

简书:WJ的生信小院

公众号:生信小院

博客园:生信小院

最后,也欢迎各位大佬能够在本平台上:1传播和讲解自己发表的论文;2:发表对某一科研领域的看法;3:想要达成的合作或者相应的招聘信息;4:展示自己以寻找博后工作或者博士就读的机会;5:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。

另外,怎么说呢,投币也可,不强求,但奢求。


投诉或建议
来自火星的河流:Rio Tinto红酒河
老大们好!码字不易求赏个赞今天给大家讲一个神秘又有点醉人的地方:西班牙的Rio Tinto红酒河,当然,不是真的红酒啦。Rio Tinto河流长约100公里,位于西班牙的安达卢西亚地区,受山脉之间的降水和地下水的影响,在悬崖之上形成了一条狭窄的河谷。这条河的特点就是它的水呈现红色,很像是一条巨大的红酒河,因此得名“Rio Tinto”,有时候也被称作“火星之河”。Rio Tinto河的红色颜色是由金属离子、硫酸盐、硫化物、铁和铁氧化物等各种营养物质与固定氮素的细菌在河水和泥土中的共存作用而产生的。这种生物
2023年“新一线城市”榜单发布,“昆明”替换“佛山”重回榜单
城市是人类社会发展的产物,也是人类社会发展成果的集中体现,是非农产业和非农人口集聚的场所。不同的城市,由于区位条件的差异,在发展过程中,也会经历不同的发展历程,有些城市会不断的发展壮大,城市用地面积、人口规模、产业规模不断的扩大,最终发展成为全国或世界顶级城市,而有些城市在发展的过程中则会逐渐的衰弱,乃至消亡。昆明重新入选新一线城市榜单在我国的城市等级分类体系中,有一线城市、二线城市、三线城市、四线城市和五线城市的分法。城市等级越高城市数量越少,我国公认的一线城市就是上海、北京、深圳和广州这四座城市。二线