Python数据信息剖析基本(九) 应用Seaborn绘图图象

摘要: Seaborn是根据matplotlib的Python可视性化库。它出示了一个高級页面来绘图有吸引住力的统计分析图型。可使得数据信息可视性化更为的便捷,美观大方。有关Seaborn的学习培训,强烈推荐去...

Seaborn是根据matplotlib的Python可视性化库。它出示了一个高級页面来绘图有吸引住力的统计分析图型。可使得数据信息可视性化更为的便捷,美观大方。有关Seaborn的学习培训,强烈推荐去官方网站,里面有详尽的实例教程和实例。

因此说seabon是用于相互配合matplotlib应用的。

 

下边立即举例说明:

#鸢尾花数据信息 flower.py
from sklearn.datasets import load_iris
import numpy as np
from pandas import DataFrame as df
def getData():
 iris = load_iris()
 # print(iris)
 # print(iris.data) #150行的数据信息
 # print(iris.data.shape)
 #变为df
 df1 = df(iris.data,columns=["sepalLength","sepalWidth","petalLength","petalWidth"]) #iris.data的行会做为df1的行
 df1['target'] = iris.target #鸢尾花归类
 return df1
if __name__ == "__main__":
 print(getData().head())
# sepalLength sepalWidth petalLength petalWidth target
# 0 5.1 3.5 1.4 0.2 0
# 1 4.9 3.0 1.4 0.2 0
# 2 4.7 3.2 1.3 0.2 0
# 3 4.6 3.1 1.5 0.2 0
# 4 5.0 3.6 1.4 0.2 0

这儿应用sklearn库文件的数据信息,以后的每个事例都是获得getData()中的数据信息

 

直方图和相对密度涵数

from flower import getData
import numpy as np
import pandas as pd
from scipy import stats,integrate
import seaborn as sns
import matplotlib.pyplot as plt
df1 = getData()
sns.set(color_codes=True)
#distplot默认设置绘制数据信息的直方图和核相对密度估算
sns.distplot(df1['petalLength'],bins=15)
plt.show()

 

直方图和相对密度涵数

 

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#散点图+直方图
sns.jointplot(x="sepalLength",y="sepalWidth",data=df1,size=8)
plt.show()

散点图+直方图

 

散点图

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#散点图,FacetGrid功效是标识不一样的类型,map(plt.scatter)表明应用散点图,add_legend()是加上标识
sns.FacetGrid(df1,hue="target",height=8).map(plt.scatter,"sepalLength","sepalWidth").add_legend()
plt.show()

散点图

 

核相对密度估算图

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#二维核相对密度估算图,核相对密度估算是几率论选用来估算不明的相对密度,归属于非主要参数检测方式之一
g = sns.jointplot(x="sepalLength",y="petalLength",data=df1,kind="kde",color="m")
# 在同一个座标轴加上散点图,散点以+标识
g.plot_joint(plt.scatter,c="w",s=30,linewidth=1,marker="+")
# g.ax_joint.collections[0].set_alpha(0)
plt.show()

核相对密度估算图

 

引流矩阵散点图
用以调查好几个自变量间的有关关联时,会应用引流矩阵散点图来同时绘图每个自变量间的散点图
下边应用PairGrid()和pairplot()绘图成对的关联图,相互配合map(plt.scatter)绘图散点图

pairplot()和PairGrid()的功效是在一个画布上绘图好几个子图

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#引流矩阵散点图
g = sns.PairGrid(df1)
g.map(plt.scatter)
plt.show()

引流矩阵散点图

 

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
# g = sns.PairGrid(df1)
g = sns.PairGrid(df1,hue="target") #加了hue="归类列名",表明应用不一样的色调显示信息归类
#在对角网上绘图不一样的涵数以显示信息df每列中该自变量自身的遍布
g.map_diag(plt.hist) #含意是,对角线子图显示信息直方图
g.map_offdiag(plt.scatter) #非对角线的地区显示信息散点图
g.add_legend() #加上图示
plt.show()

归类显示信息引流矩阵散点图

 

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#假如我只为看某些好多个自变量中间的有关关联,能够那样
g = sns.PairGrid(df1,vars=['sepalLength','sepalWidth','petalLength'],hue="target")
g.map(plt.scatter)
plt.show()

特殊自变量间的引流矩阵散点图

 

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#假如想在左右2个三角形显示信息不一样种类的图,例如右上方显示信息散点图,左下方显示信息二维核相对密度估算图,对角线显示信息相对密度涵数
g=sns.PairGrid(df1) #画核相对密度估算图不可以加hue="归类"
g.map_upper(plt.scatter)
g.map_lower(sns.kdeplot,cmap="Blues_d")
g.map_diag(sns.kdeplot,lw=3,legend=False)
plt.show()

 

 

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#应用pairplot迅速查询一数量据集的图,默认设置是对角线直方图,非对角线散点图
# g=sns.pairplot(df1,height=2.5) #height是原size主要参数,表明图的尺寸
g=sns.pairplot(df1,palette="Set2",height=2.5,diag_kind="kde")
plt.show()

 

线形有关图

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()
#绘图线形有关
sns.lmplot(x="sepalLength",y="petalLength",data=df1) #假如不用hue归类得话,那麼显示信息的便是sepalLength和petalLength整体的线形关联
sns.lmplot(x="sepalLength",y="petalLength",hue="target",data=df1) #假如加了hue归类,会显示信息每一个归类各有的sepalLength和petalLength整体的线形关联,会出现3根线
plt.show()

线形有关图

 

归类数据信息可视性化
盒形图(箱线图)和小提琴图

小提琴图是箱线图和核相对密度图的融合,箱线图展现了分十位数的部位,小提琴图则是显示信息了随意部位的相对密度,能够了解什么部位的相对密度较高

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df1 = getData()

sns.violinplot(x="target",y="sepalLength",data=df1,inner=None) #小提琴图归类数据信息可视性化得话一般将x设成份类 sns.swarmplot(x="target",y="sepalLength",data=df1,alpha=.5,color="w") #散点图 #2个图会累加在一起 plt.show()

小提琴图

 

 

 

pandas中的可视性化作用

 

1.绘图箱线图
df.boxplot()

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif']=['SimHei']
df1 = getData()
df1.boxplot(by="target",figsize=(12,6))
plt.show()

Pandas中的箱线图

 

 

2.時间编码序列图

from flower import getData
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# import seaborn as sns
# plt.rcParams['font.sans-serif']=['SimHei']
#绘图折线图(時间编码序列图)
#转化成1000数量据,index为时间,数值合乎标准正态分布的1000个任意数
ts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000))
print(ts)
ts=ts.cumsum() #累加
print(ts)
ts.plot() #绘图折线图

#绘图好几条折线图 df1 = pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list("ABCD")) df1 = df1.cumsum() print(df1.head()) df1.plot() plt.show() #将上边画的2个图都呈现出去

時间编码序列图

 

 

张柏沛IT技术性blog > Python数据信息剖析基本(九) 应用Seaborn绘图图象

点一下拷贝转截该一篇文章



联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503