Python进行相关性分析并绘制散点图详解

近期,有小伙伴问我关于怎么使用python进行散点图的绘制,这个东西很简单,但是怎么讲相关性的值标注在图形上略显麻烦,因此,在这里记录一下,将整个流程展示一下。

 需要用到的库

在本篇博客中,主要用到的库是pandas、numpy、matplotlib、seaborn等,想要使用seaborn库必须要引入matplotlib库,seaborn是作为它的外挂库。

#1 load pakeage

import pandas as pd#读写表格以及表格处理
import numpy as np#用于数据计算

import geopandas as gpd
import matplotlib.pyplot as plt
import seaborn as sns
import os
import warnings
warnings.filterwarnings("ignore")
plt.rc('font',family='Times New Roman')
from glob import glob
from osgeo import gdal,gdal_array,gdalnumeric
plt.rcParams['font.sans-serif']=['Simhei']  #显示中文
plt.rcParams['axes.unicode_minus']=False    #显示负号
数据读取

这里我使用的是师弟的一部分数据,在这里进行数据读取。

df = pd.read_csv('./JXDY_1.csv',encoding='utf-8')
df.head()

CA840055-9400-974C-6A56-FFBF93EECFAB.png

这里我们做相关性分析

df.corr()#默认是pearson相关性分析

35C1B856-1200-A1C9-118B-29A99789E62D.png

之后我们进行批量化的散点图输出,将相关性数据放在图形上

a = 2#这里的相关性是从第二位开始进行计算的,所以我从第二位开始提取
for i in df.columns[3:]:
    a1 = sns.lmplot(y='fruit',x=i,data=df)
    ax = plt.gca()
    ax.text(0.9,1,"Pearson:{:.2f}".format(df.corr().iloc[1,a]),transform=ax.transAxes)#添加相关性
    a = a+1
    plt.savefig('./{}.jpg'.format(i),dpi=300,bbox_inches = 'tight')

E2294510-436D-B9AA-7BA6-AD880068678C.png

结果就大功告成了,之后吧结果输出来就可以了!!!

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据