Seaborn做图系列①——直⽅图箱型图散点图变量关系图回归图热⼒图条形图数据可视化系列汇总:
Seaborn是在Matplotlib的基础了进⾏更⾼级别的API封装,可以轻轻松松绘制出各式精美且⽅便数据分析的图表,今天主要总结了以下常⽤的⼏种:
梦到孩子死了是什么征兆
直⽅图——distplot , kdeplot,看单变量的分布,是否正态,是否左右偏,有⼏个⾼峰等
水果和蔬菜的英文
箱型图——boxplot,看单变量的分布,常⽤来找异常值
散点图——striplot,swarmplot,看单变量的分布,与Excel中两变量相关性分布不太⼀样,这⾥的散点图更像是箱型图
变量关系图——jointplot,pairplot,双变量或多变量的两两关系图,这个就是Excel常见的散点图了
回归图——lmplot,regplot,可以画线性和⾮线性回归
热⼒图——heatmap,直观展⽰两两变量之间的相关程度
条形图——barplot,countplot,前者计算均值,后者计算个数,与Excel中的条形图⾮常类似
⼀、直⽅图
① dishist是hist的加强版,kdeplot是密度曲线图,dishist其实已经包含了kdepost
#选择数据并进⾏清洗
data = pd.read_csv('train.csv')
data.drop_duplicates(keep='first',inplace=True)
data.drop(['Cabin'],axis=1,inplace=True)
data.Age.fillna(an(),inplace=True)
data.dropna(how='any',inplace=True)
fig,axes = plt.subplots(2,2)
sns.distplot(data.Age,ax=axes[0,0],kde=True,hist=True) # displot有2个特别的参数kde和hist,True是保留,Fal是不保留,当hist为Fal且kde为True时就变成了kde图
sns.kdeplot(data.Age,ax=axes[0,1],shade=True) # kdeplot其实是在displot的基础上去掉了直⽅图,shade是否要填充
sns.distplot(data.Age,ax=axes[1,0],kde=Fal,color='b')
sns.distplot(data.Age,ax=axes[1,1],hist=Fal,kde=True,color='g',kde_kws={'shade': True},rug=True)
plt.show()
参军贺词
⼆、箱型图
毫无利己的意思'''
t_style可设置图像背景格式,常⽤的有:
鱿鱼的功效"whitegrid"—⽩⾊⽹格背景
吃猪心有什么好处和坏处"darkgrid"——灰⾊⽹格背景
"dark" # 灰⾊背景
"white" # ⽩⾊背景
"ticks" # 四周加边框和刻度
'''
fig = plt.figure()
ax1 = fig.add_subplot(2,3,1)
sns.t_style('whitegrid')
sns.boxplot(y=data.Age,linewidth=0.5) # 换成X就是横着画了
ax2 = fig.add_subplot(2,3,2)
sns.t_style('dark')
sns.boxplot(x='Pclass',y='Age',data=data,palette='Blues_d') # palette是颜⾊,总共有muted,RdBu,Blues_d,Set1,Set2,Set3 ax3 = fig.add_subplot(2,3,3)
sns.t_style('white')
sns.boxplot(x='Pclass',y='Age',hue='Survived',data=data,order=[2,1,3],palette='RdBu') # order可以设定顺序
ax4 = fig.add_subplot(2,3,4)
sns.t_style('darkgrid')
sns.boxplot(x='Pclass',y='Age',hue='Survived',data=data,palette='Set2') # hue是分组绘图,会⽤不同颜⾊区分
ax5 = fig.add_subplot(2,3,5)
sns.boxplot(data=data,linewidth=0.2)
ax6 = fig.add_subplot(2,3,6)
sns.boxplot(x='Pclass',y='Age',data=data,color='g')
sns.swarmplot(x='Pclass',y='Age',data=data,color='y',linewidth=0.1) # boxplot与swarmplot可以⼀起画出带分布的箱型图
plt.show()
三、散点图
提防的近义词fig,axes = plt.subplots(2,3)
sns.stripplot(y=data.Fare,ax=axes[0,0],linewidth=0.01)
黄花梨树sns.swarmplot(y=data.Fare,ax=axes[0,1]) # swarmplot是带分布的散点图,stripplot是不带分布的
sns.stripplot(x='Pclass',y='Age',data=data,ax=axes[0,2],jitter=True) # jitter是抖动的意思
sns.stripplot(x='Pclass',y='Age',data=data,ax=axes[1,0],hue='Survived',jitter=True)
sns.stripplot(x='Pclass',y='Age',data=data,ax=axes[1,1],hue='Survived',split=True,jitter=True) # hue可以分组,如果再加上split=True,则可以将两个组分开画
sns.swarmplot(x='Pclass',y='Age',data=data,ax=axes[1,2],hue='Survived',split=True)
plt.show()
四、变量关系图
sns.jointplot(x='Age',y='Fare',data=data)
sns.jointplot(x='Age',y='Fare',data=data,kind='reg') # 是带回归线
sns.jointplot(x='Age',y='Fare',data=data,kind='kde',space=0) # 是密度曲线
sns.jointplot(x='Age',y='Fare',data=data,kind='hex',size=5,ratio=3,color='b') # hex是变成六边形
sns.pairplot(data) # 所有变量两两画图