2.1.7.3.Categorical Plots
0. Categorical Plots的繪圖種類
sns.barplot
sns.countplot
sns.boxplot
sns.stripplot
sns.violinplot
sns.swarmplot
sns.factorplot
1. 使用library
import seaborn as sns
將圖表直接嵌入到Notebook之中
%matplotlib inline
讀入資料
tips = sns.load_dataset('tips')
tips.head()

2.bar plot
矩形高度默認為平均值 (可以用estimator調整), 誤差棒長度為允許誤差的範圍, 默認為95 (可以用ci調整)
sns.barplot(x='sex',y='total_bill',data=tips)

import numpy as np
sns.barplot(x='sex',y='total_bill',data=tips,estimator=np.std)

3.countplot(計數圖)
只要給x就好了
可應用在比較不同類別間的數量
sns.countplot(x='sex', hue ='size', data=tips)
4.boxplot
sns.boxplot(x='day',y='total_bill',data=tips)

也可以指定想要比較的類別
sns.boxplot(x='day',y='total_bill',data=tips, hue='smoker')

5.stripplot
散點圖, 用來表示數據分佈情形
sns.stripplot(x='day',y='total_bill',data=tips)

增加抖動程度
sns.stripplot(x='day',y='total_bill',data=tips,jitter=True)

類別間的比較
sns.stripplot(x='day',y='total_bill',data=tips,jitter=True,hue='sex')

6.violinplot
boxplot決定了四分位數的位置, violinplot展示了任意位置的密度, 通過violinplot可以知道哪些位置的密度較高
sns.violinplot(x='day',y='total_bill',data=tips)

類別間的比較
sns.violinplot(x='day',y='total_bill',data=tips,hue='sex',split=True)

7.swarmplot
有分布趨勢的散點圖
sns.swarmplot(x='day',y='total_bill',data=tips)

類別間的比較
sns.swarmplot(x='day',y='total_bill',data=tips, hue='sex')

violinplot + swarmplot
sns.violinplot(x='day',y='total_bill',data=tips)
sns.swarmplot(x='day',y='total_bill',data=tips, color='black')

8.factorplot
萬用的plot
sns.factorplot(x='day',y='total_bill',data=tips, kind='bar')

Last updated
Was this helpful?