06.25 seaborn 画图功能简单总结

方式 :画图

探索型数据分析的常用图表


  • 条形图、直方图

  • 饼图(饼图在探索型数据分析中使用较少,原因是肉眼对于角度之间的大小差别没有对高度之间的差别敏感, 不容易看清楚,不明显)

  • 折线图、散点图

  • 箱形图

条形图

seaborn.barplot(x="day",y="total_bill",data=tips)#条形图 error bar 误差 波动情况

直方图 :整体分布情况

seaborn.distplot(X) #distribution

#line chart 折线图 CI 68%确信

seaborn.pointplot(x="day",y="tip",data=tips,ci=68)

#scatter diagram 散点图

两个属性的相关关系 账单和小费 ,通过线性回归做条线

seaborn.regplot(x="total_bill",y="tip",data=tips)

#box plot 箱形图 数据分布情况 前25% ,最少25 在什么地方 。。。异常值,差距值>1.5

seaborn.boxplot(x="day",y="total_bill",data=tips)

网络数据可视化:可以使用Gephi软件(节点和边的关系)

时空数据可视化:可以使用MapBox或CART实现(先从地图上画出来数据)

本节课所使用的数据为iris(150朵花)数据集,需要自行设置header

import pandas

#括号里面直接指定了数据的来源,当然你也可以按照老师视频中所讲授的来操作

iris = pandas.read_csv("G:/tools/python/iris.data.csv")#加州大学欧文分校

iris.columns=['sepal_length','sepal_width','petal_length','petal_width','species']

iris.sample(10)#随机取10个样本

iris.describe()

绘图基本指令

import seaborn

%matplotlib inline

seaborn.countplot(x="species",data=iris)

seaborn.barplot(x='species',y='petal_length',data=iris)

seaborn.boxplot(x='species',y='petal_length',data=iris)#箱型图

#你是否也从上面的三种类型的绘图结果中,对这个数据集有一个初步的印象了呢?

seaborn.distplot(iris['petal_width'])#传入一个序列, 没有区分类别

分类绘图

#Pandas库对类别进行选取,然后进行画图

iris_vir=iris[iris.species

== 'Iris-virginica']#比较

iris_s=iris[iris.species

== 'Iris-setosa']

#参数赋值,加上label&图例&设置坐标轴范围,xlim设置x轴范围,ylim设置y轴范围

iris_ver=iris[iris.species

=='Iris-versicolor']

seaborn.distplot(iris_vir['petal_width'],label='vir').set(ylim=(0,15))

seaborn.distplot(iris_s['petal_width'],label='s')

seaborn.distplot(iris_ver['petal_width'],label='ver').legend()

#seaborn 非常强大的功能, FacetGrid 从数据集不同的侧面进行画图,hue指定用于分类的字段,使得代码会更加简洁

#尝试修改row/col参数,替代hue参数,row:按行展示(展示为一列),col:按列展示(一行)

g=seaborn.FacetGrid(iris,row='species') #hue='species col 并排

g.map(seaborn.distplot,'petal_width').add_legend()

#画出线性回归的曲线

seaborn.regplot(x='petal_width',y='petal_length',data=iris)#散点图 正相关

#分类画线性回归

g = seaborn.FacetGrid(iris,hue='species')

g.map(seaborn.regplot,'petal_width','petal_length')

g.map(seaborn.regplot,'petal_width','petal_length').add_legend()

#设置坐标轴范围

g.set (xlim=(0,2.5))

g.map(seaborn.regplot,'petal_width','petal_length').add_legend()

#不显示拟合曲线,用matplotlib画散点图

import matplotlib.pyplot as plt

g = seaborn.FacetGrid(iris,hue='species')

g.set(xlim=(0, 2.5))

g.map(plt.scatter,'petal_width','petal_length').add_legend()

seaborn 画图功能简单总结


分享到:


相關文章: