目录
一、Titanic数据集下载
二、Titanic数据集预处理
1数据读取及查看
2数据预处理
三、基于Titanic数据集的Matplotlib&Seaborn绘图
1分布图绘制
1.1displot(单变量绘制)
1.2joinplot(双变量+单变量统一绘制)
1.3kdeplot(核密度估计图)
1.4 pairplot(主要用于特征两两对比作图)
1.5 rugplot
2 分类数据可视化-散点图
2.1stripplot(分布散点图)
2.2swarmplot(分簇散点图)
3分类数据可视化-分布图
3.1boxplot
3.2 violinplot
3.3 lvplot
4分类数据可视化-统计图
4.1 barplot(直方图)
4.2 countplot(计数柱状图)
4.3 pointplot(折线图)
7 factorplot
8 heatmap
9 tsplot
Titanic数据集(训练+测试)提取码:d4t6【PS:本文只用到了train数据集】
对于所拿到的Titanic数据集首先做一定的处理,为后续绘图工作的进行打下基础
import numpy as np
import pandas as pd
import re
import warnings
warnings.filterwarnings('ignore')
#读取数据
train_data=pd.read_csv('.\\train.csv')
#查看数据
train_data.info()
得到的结果为:
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
可以看到,数据集有12个属性,其中Age(714)、Cabin(204)、Embarked(889)存在缺失值,因此下面对该数据集进行数据预处理(此处为缺失值处理)。
#Embarked处理方法:由于在属性(在哪儿上船)相对于学习来说不是很重要,可以对缺失值赋均值或者众数(此处选众数)
train_data.Embarked[train_data.Embarked.isnull()]=train_data.Embarked.dropna().mode().values
#Cabin处理方法:对于标称属性,可以赋一个代表缺失的值,比如'U0',因为缺失值本身也代表着一些隐含信息
train_data['Cabin']=train_data.Cabin.fillna('U0')#=train_data.Cabin[train_data.Cabin.isnull()]='U0'
#Age处理方法:因为Age在该数据集里是一个相当重要的特征,所以保证一定的缺失值田中准确率是非常重要的
#一般情况下使用回归或随机森林等模型来预测确实属性的值(此处使用随机森林预测模型)
#选取数据集中的数值属性作为特征(sklearn模型只能处理数值属性),此处仅选数值特征,实际应用中需要将非数值特征转化为数值特征
from sklearn.ensemble import RandomForestRegressor
age_df=train_data[['Age','Survived','Fare','Parch','Pclass','SibSp']]
age_df_notnull=age_df.loc[(train_data['Age'].notnull())]
age_df_isnull=age_df.loc[(train_data['Age'].isnull())]
X=age_df_notnull.values[:,1:]
Y=age_df_notnull.values[:,0]
#使用随机森林模型训练数据#n_jobs=-1:使用机器的所有核
RFR=RandomForestRegressor(n_estimators=1000, n_jobs=-1)
RFR.fit(X,Y)
predictAges=RFR.predict(age_df_isnull.values[:,1:])
train_data.loc[train_data['Age'].isnull(),['Age']]=predictAges
#查看缺失值处理后的数据
train_data.info()
缺失值处理后的数据为:
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 891 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 891 non-null object
Embarked 891 non-null object
dtypes: float64(2), int64(5), object(5)
可以看到,此时的数据集为完整数据集,没有缺失的数据,因此下面我们就可以拿该数据集进行绘图操作了。
首先简单介绍一下Matplotlib和seaborn的关系:
Seaborn是python中基于matplotlib的统计绘图模块,其基于Matplotlib 核心库进行了更高级的 API 封装,可以让我们轻松地画出更漂亮的图形。而 Seaborn 的漂亮主要体现在配色更加舒服、以及图形元素的样式更加细腻。如果说matplotlib是“tries to make easy things easy and hard things possible”,那么seaborn则是让“hard things”也变简单。Seaborn和matplotlib的区别在于,seaborn把绘图风格参数与数据参数分开设置。这样我们可以轻易的改变图像的风格。
下面开始Seaborn的使用
sns.set()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()#使用set设置默认样式
此处sns.set() 采用了默认参数,分别为:
sns.set(
context='notebook', style='darkgrid', palette='deep',
font='sans-serif', font_scale=1, color_codes=False, rc=None
)
其中各参数的作用如下:
(1)context=' '参数
设置输出图片的大小尺寸(scale),分别有 {paper,notebook,talk,poster} 四个值。其中poster>talk>notebook>paper。
(2)style=' '参数
控制默认样式(主题),分别有{darkgrid,whitegrid,dark,white,ticks}:darkgrid(灰色背景+白网格),whitegrid(白色背景+黑网格),dark(仅灰色背景),white(仅白色背景),ticks(坐标轴带刻度),修改主题也可以使用sns.set_style(' ')函数。
建议在绘制大量数据元素时,使用whitegrid主题;如果想突出带有固定模式的数据时,建议不使用网格,即dark/white主题;在体现少量特殊的数据元素结构时,使用ticks主题。
若想要隐藏右方和上方的坐标轴,可以使用despine()函数将其去掉,despine()只有在主题为white或者ticks主题时起作用sns.despine(left=True, bottom=True, right=False, top=False)
(3)palette=' '参数
预设的调色板。分别有{deep,muted,bright,pastel,dark,colorblind} 等,可以自行更改查看它们之间的不同。
(4)font=' '参数
用于设置字体,font_scale=设置字体大小,color_codes=不使用调色板而采用先前的'r'等色彩缩写
displot()集合了matplotlib的hist()与核函数估计kdeplot的功能,该函数包含了绝大多数单变量可视化的能力,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。
seaborn.distplot(
a,bins=None,hist=True,kde=True, rug=False, fit=None, hist_kws=None,
kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False,
norm_hist=False, axlabel=None, label=None, ax=None
)
各参数含义如下:
绘图示例:
绘制Titanic上成员的年龄分布
#1.1.1
#subplot()是将整个figure均等分割,而axes()则可以在figure上画图。
f, ax = plt.subplots(1,2,figsize=(6, 6))
sns.distplot(train_data['Age'], axlabel='Age1', ax=ax[0])#左
sns.distplot(train_data['Age'], kde=False,axlabel='Age2', ax=ax[1],norm_hist=False)#右
plt.show()
#1.1.2
#拟合gamma分布:图中黑色的线即为gamma分布
import scipy as sp
sns.distplot(train_data['Age'], axlabel='Age3',fit=sp.stats.gamma,kde=False)
plt.show()
联合分布
核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。通过核密度估计图可以比较直观的看出数据样本本身的分布特征。
seaborn.kdeplot(data,data2=None,shade=False,vertical=False,kernel='gau',bw='scott',
gridsize=100,cut=3,clip=None,legend=True,cumulative=False,shade_lowest=True,cbar=False,
cbar_ax=None, cbar_kws=None, ax=None, *kwargs)
各参数含义如下:
gau (Gaussian)
cos(Cosine)
biw(Quartic(biweight))
epa(Epanechnikov)
tri (Tricube)
triw (Triweight)
seaborn的kdeplot支持四类核密度带方法,分别如下:
①scott (斯考特带宽法):是一种不进行自定义带宽的核带宽估计方法,是一种基于最优直方图的估计算法
②silverman (西尔弗曼带宽法):是一种基于经验法则的带宽估计方法
【以上两种方法均不用我们自定义核带宽,即完全可以视为默认值】
③scalar (标量带宽法):自定义标量,需要我们自己定义各种带宽,可以从不同的研究尺度去进行研究
④pair of scalars (标量对带宽法):暂无研究结果
绘图示例:
【一元kde图像】
#1.3.1
#简单绘制Titanic上成员的年龄分布
sns.kdeplot(train_data['Age'])
plt.show()
#在上图基础上设置shade、cut以及vertical参数
sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=0)#1.3.2左
plt.show()
sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=5)#1.3.3中
plt.show()
sns.kdeplot(train_data['Age'],shade=True,color='g',vertical=True,cut=10)#1.3.4右
plt.show()
【二元kde图像】
绘制Titanic数据集中年龄(Age)与票价(Fare)的二元kde图
#1.3.5
sns.kdeplot(train_data['Age'], train_data['Fare'], cbar="True", shade=True)
plt.show()
为更方便看图,随机设置x,y进行绘图如下所示:
x=np.random.randn(100)
y=np.random.randn(100)
sns.kdeplot(x, y, cbar="True", shade=True)#1.3.6左
plt.show()
sns.kdeplot(x, y, bw="scott",cbar="True")#1.3.7右
plt.show()
pairplot可以一次性两两组合多个变量做出多个对比图,有n个变量,就会做出一个n × n个格子的图,譬如有2个变量,就会产生4个格子,每个格子就是两个变量之间的对比图。相同的两个变量之间(var1 vs var1 和 var2 vs var2)以直方图展示,不同的变量则以散点图展示(var1 vs var2 和var2 vs var1)【要注意的是数据中不能有NaN(缺失的数据),否则会报错】
seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None,
x_vars=None, y_vars=None, kind='scatter', diag_kind='hist', markers=None,
size=2.5, aspect=1, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None)
各参数含义如下:
选取Titanic数据集中['Pclass','Age','SibSp','Parch','Fare']五个变量绘制pairplot图
#1.4.1上
sns.pairplot(train_data,vars=['Pclass','Age','SibSp','Parch','Fare'])
plt.show()
#1.4.2下
sns.pairplot(train_data,vars=['Pclass','Age','SibSp','Parch','Fare'], hue="Survived",palette="colorblind")
plt.show()
stripplot的作图原理就是按照不同类别对样本数据进行分布散点图绘制,适用于分类数据
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, jitter=False, dodge=False, orient=None, color=None,
palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
各参数含义如下:
绘制Titanic数据集中SibSp属性与车票价格Fare的分布散点图,并通过hue='Sex‘再对散点图中的数值进行分类
#2.1.1左
sns.stripplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'],
data=train_data, order=None,hue_order=None, jitter=False, dodge=False, orient=None,
color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=0, ax=None)
plt.show()
#2.1.2右
#用order参数筛选分类类别
sns.stripplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'],
data=train_data, order=[1,2],hue_order=None, jitter=False, dodge=False, orient=None,
color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=0, ax=None)
plt.show()
Swarnplot与stripplot类似,但其不同之处在于它不会重叠数据点(适合小数据量)
seaborn.swarmplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, dodge=False, orient=None, color=None, palette=None,
size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)
各参数含义如下:
绘制Titanic数据集中SibSp属性与车票价格Fare的分簇散点图,并通过hue='Sex‘再对散点图中的数值进行分类
#2.2.1左
sns.swarmplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'],
data=train_data, order=None,hue_order=None,dodge=False, orient=None,
color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=1, ax=None)
plt.show()
#2.2.2右
sns.swarmplot(x=train_data['SibSp'], y=train_data['Fare'], hue=train_data['Sex'],
data=train_data, order=[1,2],hue_order=None,dodge=False, orient=None,
color='scatter',palette='deep', size=5, edgecolor='gray', linewidth=1, ax=None)
plt.show()
boxplot即为箱型图,用作显示一组数据分散情况,能够显示出一组数据的最大值、最小值、中位数及上下四分位数。图解如下:
seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, orient=None, color=None, palette=None, saturation=0.75,width=0.8,
dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)
各参数含义如下:
绘制Titanic数据集中票价分布与存活与否的箱型图(并按照等级进行划分)同时与分簇散点图对比
可以看到,boxplot可以更清晰地显示出数据的分散情况
#3.1.1
sns.boxplot(x=train_data['Survived'], y=train_data['Fare'], hue=train_data['Pclass'],
data=train_data, saturation=0.75,width=0.8,dodge=True, fliersize=5, whis=1.5)
plt.show()
#3.1.2右
sns.swarmplot(x=train_data['Survived'],y=train_data['Fare'], data=train_data,
color='scatter',palette='deep',size = 3,alpha = 0.8,hue=train_data['Pclass'])
plt.show()
violinplot与boxplot很像,其是一种对称的kde图,小提琴图是箱线图与核密度图的结合,箱线图展示了分位数的位置,小提琴图则展示了任意位置的密度,通过小提琴图可以知道哪些位置的密度较高。在图中,白点是中位数,黑色盒型的范围是下四分位点到上四分位点,细黑线表示须。外部形状即为核密度估计(在概率论中用来估计未知的密度函数,属于非参数检验方法之一)。
seaborn.violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
bw='scott', cut=2, scale='area', scale_hue=True, gridsize=100, width=0.8, inner='box',
split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None,
saturation=0.75, ax=None, **kwargs)
各参数含义如下:
①scott (斯考特带宽法):是一种不进行自定义带宽的核带宽估计方法,是一种基于最优直方图的估计算法
②silverman (西尔弗曼带宽法):是一种基于经验法则的带宽估计方法
【以上两种方法均不用我们自定义核带宽,即完全可以视为默认值】
③scalar (标量带宽法):自定义标量,需要我们自己定义各种带宽,可以从不同的研究尺度去进行研究
④pair of scalars (标量对带宽法):暂无研究结果
分析Titanic数据集中不同等级船舱(或不同性别下)的年龄分布与生存与否的关系
~对比不同scale参数下的图像
#3.2.1左
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='area',
scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True,
orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
plt.show()
#3.2.2中
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='count',
scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True,
orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
plt.show()
#3.2.3右
sns.violinplot(x=train_data['Survived'],y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=2, scale='width',
scale_hue=True, gridsize=100, width=0.8, inner='box',split=False, dodge=True,
orient=None, linewidth=None, color=None, palette='deep',saturation=0.75)
plt.show()
【 area】 【 count】 【width】
~对比不同inner参数下的图像
#3.2.4左上
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=4,
scale='count', scale_hue=True, gridsize=100, width=0.8, inner='box',
split=False, dodge=True, orient=None, linewidth=None, color=None,
palette='deep',saturation=0.75)
plt.show()
#3.2.5右上
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=4,
scale='count', scale_hue=True, gridsize=100, width=0.8, inner='quartile',
split=False, dodge=True, orient=None, linewidth=None, color=None,
palette='deep',saturation=0.75)
plt.show()
#3.2.6左下
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=4,
scale='count', scale_hue=True, gridsize=100, width=0.8, inner='point',
split=False, dodge=True, orient=None, linewidth=None, color=None,
palette='deep',saturation=0.75)
plt.show()
#3.2.7右下
sns.violinplot(x=train_data['Survived'], y=train_data['Age'],
hue=train_data['Pclass'], data=train_data,bw='scott', cut=4,
scale='count', scale_hue=True, gridsize=100, width=0.8, inner='stick',
split=False, dodge=True, orient=None, linewidth=None, color=None,
palette='deep',saturation=0.75)
plt.show()
【box】 【quartile】
【point】 【stick】
seaborn.lvplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True,
k_depth='proportion', linewidth=None, scale='exponential', outlier_prop=None, ax=None,
**kwargs)
各参数含义如下:
分析Titanic数据集中不同等级船舱(或不同性别下)的年龄分布与生存与否的关系
~对比不同k_depth参数下的图像
#3.3.1左
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='proportion', scale='exponential', outlier_prop=None)
plt.show()
#3.3.2中
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='tukey', scale='exponential', outlier_prop=None)
plt.show()
#3.3.3右
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='trustworthy', scale='exponential', outlier_prop=None)
plt.show()
【proportion】 【tukey】 【trustworthy】
~对比不同scale参数下的图像
#3.3.4左
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='proportion', scale='linear', outlier_prop=None)
plt.show()
#3.3.5中
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='proportion', scale='exponential', outlier_prop=None)
plt.show()
#3.3.6右
sns.lvplot(x='Survived', y='Age', hue='Pclass', data=train_data,orient=None,
color='scatter', palette='deep', saturation=0.75, width=0.8, dodge=True,
k_depth='proportion', scale='area', outlier_prop=None)
plt.show()
【linear】 【exponential】 【area】
直方图,利用矩阵条的高度反映数值变量的集中趋势,并使用errorbar功能(差棒图)来估计变量之间的差值统计。
*barplot显示的是某种变量分布的平均值,当需要精确观察每类变量的分布趋势时,boxplot和violinplot是更好的选择。
seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
estimator=, ci=95, n_boot=1000, units=None, orient=None, color=None,
palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True,
ax=None, **kwargs)
各参数含义如下:
利用均值这一特性反映Titanic数据集不同等级中男女性别下的存活率(考虑到存活率用0/1表示,平均值即代表存货人数占总人数的比例)
#4.1.1
sns.barplot(x='Sex', y='Survived', hue='Pclass', data=train_data, order=None,
hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, orient=None,
color='scatter',palette='deep', saturation=0.75, errcolor='.26', errwidth=None,
capsize=None, dodge=True)
plt.show()
print(train_data[['Sex',"Survived",'Pclass']].groupby(['Pclass','Sex']).mean())
Pclass |
Sex |
Survived |
1 |
female |
0.968085 |
male |
0.368852 |
|
2 |
female |
0.921053 |
male |
0.157407 |
|
3 |
female |
0.500000 |
male |
0.135447 |
对因子变量计数然后绘制条形图,相比barplot来说countplot中不能同时输入x和y,且countplot没有误差棒。
seaborn.countplot(x=None,y=None, hue=None, data=None, order=None, hue_order=None,
orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)
各参数含义如下:
统计Titanic不同等级下存活及不存活的人数(横/纵)
#4.2.1左
sns.countplot(x="Survived", hue="Pclass", data=train_data,order=None, hue_order=None,
orient='v', color='scatter', palette='deep', saturation=0.75, dodge=True)
plt.show()
#4.2.2右
sns.countplot(y="Survived", hue="Pclass", data=train_data,order=None, hue_order=None,
orient='h', color='scatter', palette='deep', saturation=0.75, dodge=True)
plt.show()
seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
estimator=(function mean), ci=95, n_boot=1000, units=None, markers='o', linestyles='-',
dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None,
capsize=None, ax=None, **kwargs)
各参数含义如下:
x:设置分组统计字段
y:设置分布统计字段
hue :按照不同类别对样本数据进行分布散点图绘制,如在Titanic数据集中分为存活与否两类绘制年龄与票价等的图像
order:对x参数所选字段内的分类类别进行排序以及筛选
hue_order:控制hue组类别的排序
estimator=
ci:允许的误差范围(置信区间误差),控制误差棒的百分比在0-100之间,若ci=“sd”,则误差棒用标准误差,默认为95
n_boot:计算置信区间时使用的引导迭代次数(整数)
units:采样单元的标识符,用于执行多级引导和重复测量设计(数据变量或向量数据)
markers:使用不同的形状,设置点样式。参数类型:list
linestyles:设置连接线类型
dodge:控制组内分类是否彻底分拆
join:是否连线join=True
scale:比例因子(float,optional)
orient: “v” | “h”控制绘图的方向
color:{‘scatter’,'reg'}设置作图的方式
palette:调色板颜色{deep,muted,bright,pastel,dark,colorblind}
errorcolor:误差线颜色
errwidth:误差线宽度
capsize:设置误差棒帽条(上下两根横线)的宽度
绘制Titanic数据集中不同等级下各性别的车票价均值
#4.3.1左
sns.pointplot(x='Sex', y='Fare', hue='Pclass', data=train_data, order=None,
hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, markers='o',
linestyles='-',dodge=False, join=True, scale=1, orient=None, color='scatter',
palette='deep', errwidth=None)
plt.show()
#4.3.2右
sns.pointplot(x='Sex', y='Fare', hue='Pclass', data=train_data, order=None,
hue_order=None,estimator=np.mean, ci=95, n_boot=1000, units=None, markers='s',
linestyles='--',dodge=False, join=True, scale=1, orient=None, color='scatter',
palette='deep', errwidth=None)
plt.show()
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False,
annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True,
cbar_kws=None, cbar_ax=None, square=False, xticklabels=’auto’, yticklabels=’auto’,
mask=None, ax=None, **kwargs)
各参数含义如下:
【1】输入数据参数
【2】颜色参数
【3】注释参数
【4】矩阵块之间间隔及间隔线参数
【5】颜色刻度条参数
参考资料:
https://blog.csdn.net/allenlu2008/article/details/53692154
https://blog.csdn.net/u013082989/article/details/73278458
https://blog.csdn.net/qq_39949963/article/details/79362501
https://www.cnblogs.com/kylinlin/p/5236601.html
https://blog.csdn.net/qq_39949963/article/details/80750492
https://www.jianshu.com/p/96977b9869ac
https://www.e-learn.cn/content/python/1204329