Seaborn是一个基于Python语言的数据可视化库,它能够创建高度吸引人的可视化图表,是在matplotlib库的基础上,提供了更为简便的API和更为丰富的可视化函数,使得数据分析与可视化变得更加容易。Seaborn的设计哲学是以美学为中心,致力于创建最佳的数据可视化,同时也保持着与Python生态系统的高度兼容性,可以轻松集成到Python数据分析以及机器学习的工作流程中.
特点:
pip install seaborn
由于需要其他模块依赖,还需要安装
pip install numpy
pip install scipy
pip install pandas
import numpy as np
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid")
data=sns.load_dataset('tips')
sns.relplot(x='total_bill',y='tip',data=data)
plt.show()
添加参数
hue ->颜色 style->风格 size->尺寸
sns.relplot(x='total_bill',y='tip',hue="smoker",style='darkgrid',size=10,data=data)
data=np.random.rand(100)
sns.relplot(kind='line',data=data)
fmri=sns.load_dataset('fmri')
sns.relplot(x="timepoint", y="signal", hue="subject",
col="region", row="event", height=4,
kind="line", estimator=None, data=fmri)
unniform_data=np.random.rand(8,8)
#vim,vmax表示范围 ,center表示中心数据大小
heatmap=sns.heatmap(unniform_data,vmin=0,vmax=1,center=0)
flights=sns.load_dataset('flights')#读取航班数据
flights=flights.pivot("month",'year',"passengers")
#annot是否显示数据,fmt字体格式,linewwidth间距,cmap调色板
ax=sns.heatmap(flights,annot=True,fmt='d',linewidths=.5,cmap="YlGnBu")
data=sns.load_dataset('tips')
sns.catplot(x="day", y="total_bill", data=data)
data=sns.load_dataset('tips')
sns.catplot(x='day',y='total_bill',kind='box',data=data)
plt.savefig('1.png')
plt.show()
data = sns.load_dataset("diamonds")
sns.catplot(x="cut", y="price", kind="boxen",
data=data.sort_values("cut"))
data = sns.load_dataset("titanic")
sns.catplot(x="alone", y="age", hue="class", kind="bar", data=data)
data= np.random.normal(size=100)
sns.distplot(data)
import numpy as np
mean = [0, 0]
cov = [[1, 0.5], [0.5, 1]]
samples = np.random.multivariate_normal(mean, cov, 100)
生成核密度图
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 100)
df=pd.DataFrame(data,columns=['x','y'])
sns.jointplot(x="x", y="y", data=df, kind="kde")
iris = sns.load_dataset("iris")
sns.pairplot(iris)
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)
data=sns.load_dataset("tips")
sns.regplot(x='total_bill',y="tip",data=data)
sns.lmplot(x="size", y="tip", data=data)
由于可能得到不是最优解,所以可以添加噪音或者综合每个离散箱中的观测值,以绘制集中趋势的估计值和置信区间。
sns.lmplot(x="size", y="tip", data=data,x_jitter=0.04)
sns.lmplot(x="size", y="tip", data=data,x_estimator=np.mean)
sns居于强大的网格图功能
data=sns.load_dataset('tips')
g=sns.FacetGrid(data,col='time')
data=sns.load_dataset('tips')
g=sns.FacetGrid(data,col='sex',hue='smoker')
g.map(plt.scatter,'tip','total_bill',alpha=0.9)
seaborn内置了5种主题风格
sns.set_style("whitegrid")#设置主题风格
可以根据喜好与情况选择,也可以自定义
通过给 axes_style() 与set_style()函数中的 rc 参数传递一个参数字典来实现,具体想深入研究,可以看文档
实例
sns.set_style("darkgrid", {"axes.facecolor": "0.6"})
seaborn作为一个强大的可视化模块,在数据分析机器学习有很大的作用,但其功能远不在这里,如果想更加深入了解,可以访问其 官网地址或者中文文档
希望大家多多支持,一起努力学习,后续慢慢分享更多新奇有趣的东西