####关联图像最后一个############ 关联图的目标,展示的是一个变量随着另一个变量的变化而变化,但之前的折线图或折线图只能够分析俩变量的关系
df=pd.read_csv('mtcars.csv')
df.head()
name=['英里/加仑','气缸数量','排量','总马力','驱动轴比','重量','1/4英里所用的时间','引擎','变速器','前进挡数','化油器的数量','用油是否高效','汽车','汽车名称']
df.columns=name
df.head()
#其中的汽车与汽车名称这一列是完全相等的
(df['汽车']!=df['汽车名称']).sum()
#先实现相关系数矩阵,在实现相关系数矩阵
df.corr():#实现相关系数的矩阵
#method:填写相关系数分参数,可以选择'pearson','kendall','spearman'
coef=df.corr(method='pearson')
重要的参数
#热力图 sns.heatmap:
data:输入相关系数的矩阵
cmap:使用的光谱
center:绘制有色数据时将色彩映射居中的值,这是一个控制颜色的参数,如果没有指定的camp,使用此参数将更改默认的cmap的参数,我们一般center中填写数据的中值,比如皮尔逊相关系数的取值范围[-1,1],我们就在center中填写0
annot:如果为True,则在热力图的每个单元中写入数据集,如果一个类似于data形状的数组,那么用他来标试热力图而不是原始数据
#确保正确显示中文+符号
plt.rcParams['font.sans-serif']=['Simhei']
plt.rcParams['axes.unicode_minus']=False
#绘制图像
plt.figure(figsize=(12,10),dpi=80)
sns.heatmap(df.corr() #需要输入的相关性矩阵
,xticklabels=coef.columns #横坐标的标签
,yticklabels=coef.columns #纵坐标的标签
,cmap='RdYlGn' #使用的光谱,一般会使用由浅到深的
# cmap='YlGnBu'
,center =0 #填写数据的中值,注意观察此时的颜色条,大于0越来越靠近绿色,小于0越来越靠近红色
#center=1 填写数据中的最大值/最小值,则最大值/最小值是最浅或最深的颜色,
,annot=True
)
###装饰图像##################
plt.title('mtcars数据集的相关系数的矩阵',fontsize=22)
plt.xticks(fontsize=12,rotation=45,horizontalalignment='right') #相对于刻度的位置
plt.yticks(fontsize=12)
plt.show()
######颜色可以改