如何画好一个相关图

《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》

众所周知,论文里面经常会出现各种各样的图,一些好看的作图不仅能够更好地展示论文的结果,并且能让审稿人眼前一亮。在处理数据的时候我们经常遇到需要计算相关的情况,今天我们将为大家演示类似于下面这种相关图的做法。
如何画好一个相关图图1

这种相关性图不仅能够表示出横纵坐标的相似性,并且能清楚地展示两组数据的分布情况,画这种相关性图需要用到seaborn工具包。

这里推荐大家直接安装Anaconada,里面已经内置和各种常用的工具包,并且能够很好地处理工具包冲突的问题。并且以后公众号会推出深度学习相关的代码,也需要用到这个环境。

1.Anaconada 安装
打开Anaconada清华镜像(https://mirrors.tuna.tsinghua.edu.cn/
anaconda/archive/),然后找到和电脑系统匹配的操作系统,这里选择的是windows和64位操作系统的版本,注意请选择python3X版本。下图显示的是不同的版本号和对应的操作系统。
如何画好一个相关图图2

下载完,直接双击安装即可(window版本)。

2.打开sypder软件
安装成功之后将在系统开始菜单下面看到Anaconada文件夹,打开spyder软件。

如何画好一个相关图
图3

3.数据准备
将需要计算相关的数据放入excel文件中(也可以用pandas数据类型的数据,初学者建议用excel),数据格式如下图:
如何画好一个相关图图4

4.程序操作
1)加入需要的工具包
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as sci
2)读入数据
data = pd.read_excel(r’xiage.xlsx’) #如果是数据没有在当前路径下面需要加入完成的数据路径
3)画图
sns_plot = sns.jointplot(x=“aa”, y=“bb”, data=data, kind=“reg”, color=sns.xkcd_rgb[“blue”])
注意:color可以设置成工具包自带的任意颜色,例如color= “red”,对应的颜色和名称请参见 https://www.cnblogs.com/qianblue/p/10783261.html
4)添加相关性度量(这里用的是spearman相关)
sns_plot.annotate(sci.spearmanr) #皮尔逊相关 sci.pearsonr
5)保存图片
fig = sns_plot.fig
fig.savefig(“test.tif”, dpi=300)
6)设置字体的大小
sns.set_context(fontscale=1.5)
7)设置图片的主题风格
sns.set_style(‘darkgrid’) #一共有五种可供选择,大家可以试一下, darkgrid(灰色背景+白网格), whitegrid(白色背景+黑网格), dark(仅灰色背景), white(仅白色背景)和ticks(坐标轴带刻度)

5.完整代码
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as sci
data = pd.read_excel(r’xiage.xlsx’)
#Custom the inside plot: options are:“scatter” | “reg” | “resid” | “kde” | “hex”
sns.set_context(“paper”, font_scale=1.2)
sns.set_style(‘darkgrid’)
sns_plot = sns.jointplot(x=“aa”, y=“bb”,data=data,kind=“reg”,color=sns.xkcd_rgb[“blue”])
sns_plot.annotate(sci.spearmanr)
fig = sns_plot.fig
fig.savefig(“test.tif”, dpi=300)

注:原创不易,请多多转发支持,如有问题请加笔者微信交流(悦影科技赵宗亚,微信:15560177218)