近期,有小伙伴问我关于怎么使用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')
结果就大功告成了,之后吧结果输出来就可以了!
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!