python-seaborn库数据可视化{直方图、散点图、箱线图、变量关系图、热力图、条形图}

seaborn是在matplotlib的基础上进行了更加高级的封装,可以更加方便画出各种精美、方便分析数据的图表。本文主要将常见的6种{直方图、散点图、箱线图、变量关系图、热力图、条形图}进行一个学习总结说明,并附上代码及图片展示。

目录

一、直方图

二、散点图

三、箱线图

四、变量关系图

五、热力图

六、条形图


这里附上绘画颜色所对应的英文字母,方便后续修改颜色配置。

 

一、直方图

首先获取数据,对数据进行清洗,再数据可视化

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

#读入数据
df=pd.read_csv('C:/Users/27812/Desktop/1-Advertising.csv')
#数据清洗
#1.清除重复值
df.drop_duplicates(keep='first',inplace=True)
#2.清除缺失值
df.dropna(how='any',inplace=True)
all_cloumns=list(df)#获取所有列名
print(all_cloumns)
#['TV', 'radio', 'newspaper', 'sales']
#直方图可视化
fig1,axes=plt.subplots(2,2)
sns.distplot(df['TV'],ax=axes[0,0])#kde和hist默认保留
sns.kdeplot(df['radio'],ax=axes[0,1],color='darkviolet',shade=True)#shade代表是否填充
sns.distplot(df['newspaper'],ax=axes[1,0],color='g',kde=False)
sns.distplot(df['sales'],ax=axes[1,1],hist=False,color='r')
#保存图片
fig1.savefig('A.png',dpi=500)

 二、散点图

#绘制散点图
fig2,axes=plt.subplots(2,2)#创建2^2的子图
sns.scatterplot(x=df['TV'],y=df['sales'],data=df,ax=axes[0,0])
sns.scatterplot(x=df['radio'],y=df['sales'],data=df,ax=axes[0,1],color='y')
sns.scatterplot(x=df['newspaper'],y=df['sales'],data=df,ax=axes[1,0],color='orangered')
sns.scatterplot(x=df['TV'],y=df['newspaper'],data=df,ax=axes[1,1],color='crimson')
#保存图片
fig2.savefig('B.png',dpi=500)

 三、箱线图

#绘制箱线图
fig3,axes=plt.subplots(2,2)
sns.set_style('whitegrid')#设置白色网格背景
sns.boxplot(y=df['sales'],ax=axes[0,0])
sns.boxplot(data=df,ax=axes[0,1])
sns.set_style('darkgrid')#设置灰色网格背景
sns.boxplot(data=df,ax=axes[1,0],color='cyan')
sns.swarmplot(data=df,ax=axes[1,0],color='plum',linewidth=0.1)#swarmplot可以和boxplot画在一起
sns.boxplot(data=df,ax=axes[1,1],color='cyan')
#保存图片
fig3.savefig('C.png',dpi=500)

 四、变量关系图

#绘制变量关系图
#1.两两变量
fig_1=sns.jointplot(x=df['TV'],y=df['sales'],data=df,kind='reg')
fig_2=sns.jointplot(x=df['newspaper'],y=df['sales'],data=df,color='r',kind='kde',space=0)
fig_3=sns.jointplot(x=df['radio'],y=df['sales'],data=df,kind='hex',color='violet')
fig_1.savefig('D1.png',dpi=500)
fig_2.savefig('D2.png',dpi=500)
fig_3.savefig('D3.png',dpi=500)

#2.多变量
p1=sns.pairplot(df)#所有变量两两画图
p2=sns.pairplot(df,kind='kde')
p3=sns.pairplot(df,vars=['TV','sales'],kind='kde')#vars选择变量
p1.savefig('E1.png',dpi=500)
p2.savefig('E2.png',dpi=500)
p3.savefig('E3.png',dpi=500)

 

  

 五、热力图

#绘制热力图
data_corr=df.corr().abs()
p4=sns.heatmap(data_corr,annot=True)
p4.savefig('F.png',dpi=500) 

 六、条形图

#绘制条形图
fig5,axes=plt.subplots(2,2)
sns.barplot(data=df,ax=axes[0,0])
sns.barplot(data=df,ax=axes[0,1],ci=0)#ci取消置信线
sns.countplot(data=df,ax=axes[1,0])
sns.barplot(data=df,ax=axes[1,1])
fig5.savefig('G.png',dpi=500) 

猜你喜欢

转载自blog.csdn.net/weixin_57501965/article/details/126625267