import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
iris=sns.load_dataset("iris")
sns.pairplot(iris)#pairplot多变量图
<seaborn.axisgrid.PairGrid at 0x20463b66208>
##回归分析##
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
np.random.seed(sum(map(ord,"regression")))
sns.set(color_codes=True)
tips=sns.load_dataset("tips")
tips.head()
total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
sns.regplot(x="total_bill",y="tip",data=tips)#用regplot做回归分析
<matplotlib.axes._subplots.AxesSubplot at 0x2046459de10>
sns.lmplot(x="total_bill",y="tip",data=tips)#用regplot做回归分析
<seaborn.axisgrid.FacetGrid at 0x20464a80828>
sns.regplot(x="size",y="tip",data=tips,x_jitter=0.05)#在原始点上加上小范围的浮动
<matplotlib.axes._subplots.AxesSubplot at 0x204649a4668>
##多变量分析绘图(带有类别属性的变量)##
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
np.random.seed(sum(map(ord,"regression")))
sns.set(color_codes=True)
tips=sns.load_dataset("tips")
tips.head(5)
total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
sns.stripplot(x="day",y="tip",data=tips,jitter=True)#jitter=True使散点发生偏移,看的更清楚
<matplotlib.axes._subplots.AxesSubplot at 0x20464cee4e0>
)
sns.swarmplot(x="day",y="total_bill",hue="sex",data=tips)#散点左右分布更加均匀 hue="sex"加入不同性别比较
<matplotlib.axes._subplots.AxesSubplot at 0x20464d69550>
sns.boxplot(x="day",y="total_bill",hue="time",data=tips)#盒图
<matplotlib.axes._subplots.AxesSubplot at 0x20464da14a8>
sns.violinplot(x="total_bill",y="day",hue="time",data=tips)#小提琴图 split=True
<matplotlib.axes._subplots.AxesSubplot at 0x20464e07860>
sns.violinplot(y="total_bill",x="day",hue="sex",split=True,data=tips)#split=True 显示的时候hue在小提琴左右显示
<matplotlib.axes._subplots.AxesSubplot at 0x2046606ada0>
#分类属性绘图
sns.swarmplot(x="day",y="tip",data=tips)
sns.violinplot(x="day",y="tip",data=tips,color="w",alpha=.5,inner=None)#alpha设置透明度
<matplotlib.axes._subplots.AxesSubplot at 0x204662d4860>
titanic=sns.load_dataset("titanic")
titanic.head()
survived pclass sex age sibsp parch fare embarked class who adult_male deck embark_town alive alone 0 0 3 male 22.0 1 0 7.2500 S Third man True NaN Southampton no False 1 1 1 female 38.0 1 0 71.2833 C First woman False C Cherbourg yes False 2 1 3 female 26.0 0 0 7.9250 S Third woman False NaN Southampton yes True 3 1 1 female 35.0 1 0 53.1000 S First woman False C Southampton yes False 4 0 3 male 35.0 0 0 8.0500 S Third man True NaN Southampton no True
sns.barplot(x="sex",y="survived",hue="class",data=titanic)#条形图
<matplotlib.axes._subplots.AxesSubplot at 0x20466414a90>
sns.pointplot(x="sex",y="survived",hue="class",data=titanic)#点图
<matplotlib.axes._subplots.AxesSubplot at 0x2046640aba8>
sns.pointplot(x="class",y="survived",hue="sex",data=titanic,
palette={"male":"r","female":"m"},
markers=["^","o"],linestyles=["-","--"])
<matplotlib.axes._subplots.AxesSubplot at 0x204667812e8>
#多层面板分类图
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips)
<seaborn.axisgrid.FacetGrid at 0x204667eb9e8>
sns.factorplot(x="day",y="total_bill",hue="smoker",data=tips,col="time",kind="swarm")#加入time维度,kind将swarm整合进去
<seaborn.axisgrid.FacetGrid at 0x204666fbe48>
sns.factorplot(x="time",y="total_bill",hue="smoker",data=tips,col="day",kind="box",size=10,aspect=0.5)#aspect长宽比
<seaborn.axisgrid.FacetGrid at 0x20469ba0cf8>