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