在日常工作中,我们经常会进行探索性数据分析(EDA),来查找不同数据间的模式、关系或异常情况,以便为我们后续工作提供参考。散点图就是我们常用的工具之一,它可以让我们看到两个变量之间的相关性。
然而实际作图时,面对琳琅满目的工具,我们经常无所适从,当散点图密密麻麻,杂乱无章时,我们也很难发现数据间的相关性和趋势。那该怎么破呢?今天就给大家从Excel,Python,云平台三个方面讲解下分组散点图,密度图的绘制方法,大家可以选择性查看对应内容,希望这篇分享能够给大家在数据可视化精进的道路上有所帮助!
一 Excel: 三步实现分组散点图
首先我们看看示例数据。如下图所示,数据包含三列,第一列为分组:A,B,C三个组,第二列为变量:长度(Length)和深度(Depth)的值。主要目的是想了解下不同组的数据长度和深度分布相关情况。
数据准备好了,接下来我们开始EDA。 按照常规的操作,【选中数据→插入散点图】,结果发现无论选择哪个类型的散点图,出现的都只有Length和Depth两个系列的值,并没有按照我们想要的分组进行展示。如何解决呢?接下来我们就看看,如何实现绘制分组散点图。
1.1 插入空白散点图
把鼠标放在空白单元格(重点!),依次点击【插入→散点图】,插入空白的散点图。
1.2 为空白图添加数据
【选择空白图表右键→选择数据】弹出【选择数据源】窗口,【图例项(系列)】下点击“添加”图标,弹出【编辑数据系列】窗口,输入系列名称,选择好对应组别的 X Y轴系列值,这里分别是Length,Depth对应的值。
下图演示的是添加A组的数据,类似操作依次选择添加B,C组的数据。最终可以看到三个组的数据用不同颜色进行了显示。
从图中可以看出,初始图中存在很多的空白,很多点堆积在一起,也没有图例,离高质量图表还有很大的差距呢。别急,接下来我们进一步调整下相关参数。
1.3 更改图表样式参数
① 【右键图表区域→设置坐标轴格式】调整XY轴最小值,本例分别为40,15,使得点充分展开。
② 【点击图表右上角的“+”图标-》勾选图例】 可以看到包含A,B,C三个组的图例出现了。
为了进一步美化,达到期刊发表级别要求,我们还可以尝试添加XY轴刻度,去掉多余的网格线,给图例添加边框,设置点的填充透明度等使得图表更加简洁,****有层次感和呼吸感。到此,一个分组散点图就完成了!
操作到这,小伙伴们可能会问了,要是我们的数据有很多组,上述操作就****太费劲了,还有上面的散点图很多数据点是重叠的,不能很好的查看数据实际分布密度情况。有没有解决办法呢?接下来向大家介绍python实现分组散点图和密度图的绘制方法。
二 Python: 一行命令实现分组散点密度图
数据还是上面Excel所用的数据,按照如下命令,依次导入需要的模块和数据,然后利用一条命令就可以绘制出散点密度图!只要一条命令!!!简单的是不是难以置信!此处应该有掌声!
# 导入模块
import seaborn as sns
import pandas as pd
# 导入数据
df = pd.read_csv("data.txt",sep="\t")
# 开始作图
sns.pairplot(df, hue="Group")
接下来,小伙伴们又要举手了,上面的图要是想调整下颜色,透明度,点的大小形状,标题标签样式等如何实现呢?还有上面的图好像有点重复,可不可以合并成一个散点图和密度分布图呢?数据点密集还是看不清数据的密度分布情况。怎么办,继续写代码,加入更多参数吗?要是我不会写代码如何实现呢?为此,接下来为大家推荐一个在线作图工具。
三 基因云:一键出图,百款样式随意调
进入基因云平台(www.genescloud.cn)【云图汇→组合密度图】工具,在【图表数据→文件上传】页面选择数据文件后,点击“提交绘图”,即可获得漂亮的组合密度图。进入【图表调整】页面,可以实现核密度图、回归密度图、直方密度图等多种类型图表的随意切换,分组的任意删减和排序,以及上百种样式的自由调整****。
我最喜欢的是这个功能,不用反复自己修改上传数据了!
好了,今天就和大家分享到这里,希望这些能给大家有所帮助!