近期,有小伙伴问我关于怎么使用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