1. sns.stripplot(x='data', y='total_bill', data=tips, jitter=True), 画出竖形的样子,jitter=True为了使得数据尽量分开
import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set(color_codes=True) np.random.seed(sum(map(ord, 'distributions'))) titantic = sns.load_dataset('titanic') tips = sns.load_dataset('tips') iris = sns.load_dataset('iris') # jitter = True 把数据进行一个随机的偏移,使得数据分布清晰 sns.stripplot(x='day', y='total_bill', data=tips, jitter=True) plt.show()
2. sns.swarmplot画出圣诞树的样子,hue='sex' 加入一种新的分类属性
sns.swarmplot(x='day', y='total_bill', data=tips) plt.show() # 在画出圣诞树的同时,通过hue加入一种分类属性 sns.swarmplot(x='day', y='total_bill', data=tips, hue='sex') plt.show() # 进行横着绘图 sns.swarmplot(x='total_bill', y='day', data=tips, hue='sex') plt.show()
3.绘制盒图和小提琴图,加上hue属性,split=True,将hue属性合并
# 盒图 sns.boxplot(x='day', y='total_bill', data=tips, hue='sex') plt.show() # 小提琴图 sns.violinplot(x='day', y='total_bill', data=tips, hue='sex') plt.show() # split=True将图形不分开 sns.violinplot(x='day', y='total_bill', data=tips, hue='sex', split=True) plt.show()
4. 将两个图做一个组合, 直接画就可以了
sns.swarmplot(x='day', y='total_bill', data=tips, color='w', alpha=0.4) sns.violinplot(x='day', y='total_bill', data=tips, inner=None) plt.show()
5.sns.piontplot() 点图,可以反映变量的变化趋势, 通过palette和markers以及linestyles加上相关的属性
sns.pointplot(x='class', y='survived', hue='sex', data=titantic) plt.show() # 在点图的基础上加上颜色,标签,线条风格 sns.pointplot(x='class', y='survived', hue='sex', data=titantic, palette={'female':'green', 'male':'blue'}, markers=['^', 'v'], linestyles=['--', '-']) plt.show()
6. 使用盒图横着放,来观测数据的分布情况
sns.boxplot(data=iris, orient='h') plt.show()
7. sns.factorplot 分类属性画图,改变kind可以画出多种类型的图, 不指定绘制的是折线图,也就是点图
sns.factorplot(x='day', y='total_bill', hue='smoker', data=tips) plt.show() # 指定kind=bar 变成条形图 sns.factorplot(x='day', y='total_bill', hue='smoker', data=tips, kind='bar') plt.show() # 指定kind=box, size表示宽度, aspect表示长宽比 sns.factorplot(x='day', y='total_bill', hue='smoker', data=tips, kind='box', size=4, aspect=1) plt.show()