Serborn是一种基于matplotlib的可视化库,它提供了更高级的API封装,可绘制更具吸引力,信息量更加丰富的图表。可视为对于matplotlib的补充。
import seaborn as sns
#Seaborn提供多个内置数据集,可通过sns.load_dataset直接加载
tips = sns.load_dataset('tips')
print(tips.head())
#该数据集记录了用餐小费与各潜在影响因素的特征值,打印前五行
1、条形散点图
单变量条形散点图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.stripplot(x = 'day', y = 'total_bill', data = tips)
plt.show()
sns.stripplot(x='day', y='total_bill', data=tips, jitter=True)
#jitter使条形散点图中的散点沿柱形的方向随机分布
plt.show()
sns.stripplot(x='total_bill', y='size', data=tips, jitter=True,orient='h')
#orient设为h表示横向
plt.show()
双变量条形散点图
sns.swarmplot(x='day', y='total_bill',data=tips, hue='sex')
#hue参数通过指定分组变量'sex',将自变量和因变量分为'Male'和'Female'俩个组
plt.show()
2、绘制箱线图
sns.boxplot(x='day',y='total_bill',hue='smoker',data=tips,palette='Reds')
plt.show()
3、琴形图
绘制单变量琴行形
sns.violinplot(x='day',y='total_bill',data=tips)
plt.show()
多变量分类琴形图
sns.violinplot(x='day',y='total_bill',hue='smoker',palette='coolwarm',inner='quartile',
split=True,data=tips)#data放在最后才能输出
plt.show()
琴形图和散点图结合起来绘制在同一张画布
sns.violinplot(x='day',y='total_bill',data=tips,palette='hls',inner=None)
sns.swarmplot(x='day',y='total_bill',data=tips,color='w',alpha=0.5)
plt.show()
4、多变量分类绘图
1、使用factorplot绘图
#点图
sns.factorplot(x='day',y='total_bill',hue='smoker',data=tips)
plt.show()
#柱状图
sns.factorplot(x='day',y='total_bill',hue='smoker',kind='bar',data=tips)
plt.show()
#条形散点图
sns.factorplot(x='day',y='total_bill',hue='smoker',col='time', kind='swarm',data=tips)
plt.show()
#箱线图
sns.factorplot(x='day',y='total_bill',hue='smoker',col='time', kind='box',data=tips)
plt.show()
2、使用PairGrid绘制多变量分类琴形图
g = sns.PairGrid(tips,
x_vars = ['smoker','time','sex'],
y_vars = ['total_bill','tip'],
aspect = .75, size=3.5)
g.map(sns.violinplot, palette='hls')
plt.show()
同样是用jupyter notebook实现,多跟着敲慢慢就有感觉了,记录一下以便随时可以查看。
参考书《Python3快速入门与实战》