近期,有小伙伴问我关于怎么使用python进行散点图的绘制,这个东西很简单,但是怎么讲相关性的值标注在图形上略显麻烦,因此,在这里记录一下,将整个流程展示一下。
需要用到的库
在本篇博客中,主要用到的库是pandas、numpy、matplotlib、seaborn等,想要使用seaborn库必须要引入matplotlib库,seaborn是作为它的外挂库。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#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 #显示负号
|
数据读取
这里我使用的是师弟的一部分数据,在这里进行数据读取。
1
2
|
df = pd.read_csv( './JXDY_1.csv' ,encoding = 'utf-8' )
df.head()
|
这里我们做相关性分析
1
|
df.corr() #默认是pearson相关性分析
|
之后我们进行批量化的散点图输出,将相关性数据放在图形上
1
2
3
4
5
6
7
|
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' )
|
结果就大功告成了,之后吧结果输出来就可以了!
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/zyh19970701/article/details/120332927