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()

這裡我們做相關性分析

df.corr()#默認是pearson相關性分析

之後我們進行批量化的散點圖輸出,將相關性數據放在圖形上

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')

 

 結果就大功告成瞭,之後吧結果輸出來就可以瞭!

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: