Seaborn 箱線圖
可以使用 Python 中的 seaborn 模組建立不同的統計圖表。我們可以使用 seaborn.boxplot()
函式建立一個箱線圖。
分析師和統計學家經常使用箱線圖來表示不同級別或類別的資料。箱線圖可以傳達許多統計值。下圖說明了這一點。
boxplot()
函式可以有效地繪製資料集的分類值,也可以處理單個列表或陣列向量。它與小提琴圖非常相似。
在下面的例子中,我們繪製了一個單一分佈的箱線圖,以瞭解最終的數字。
import random
import numpy as np
import seaborn as sns
n = random.sample(range(0,50),30)
arr = np.array(n)
sns.boxplot(n)
我們還可以在箱線圖上繪製散點圖。它將讓你更好地瞭解繪製的分佈和最終數字。
我們將使用 seaborn.stripplot()
函式來繪製散點圖。例如,
import random
import numpy as np
import seaborn as sns
n = random.sample(range(0,50),30)
arr = np.array(n)
sns.boxplot(n)
sns.stripplot(n, color = 'red')
箱線圖可以有效地用於繪製分類變數並使它們的比較變得簡單。在以下程式碼中,我們將繪製多個類別的箱線圖。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
"Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
"Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
"Product": ['A','A','A','A','B','B','B','B',
'A','A','A','A','B','B','B','B']})
sns.boxplot(data = df, y = "Price", x = "Quantity")
注意在上面的資料集中,我們可以輕鬆地比較不同數量的價格。我們還可以新增 hue
引數並將其值設定為 Product
變數。這樣,我們將能夠為不同的產品繪製不同的框。
我們可以使用 matplotlib.pyplot.ylim()
和 matplotlib.pyplot.xlim()
來設定圖的 x 和 y 軸的限制。
我們可以使用更多引數來調整最終圖。linewidth
引數可用於增加箱線圖邊界的厚度。我們可以使用 palette
引數為不同類別自定義顏色。可以使用 orient
引數更改方向。還有更多這樣的引數可以使用。
請參考下面的程式碼以瞭解其中一些引數的應用。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
"Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
"Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
"Product": ['A','A','A','A','B','B','B','B',
'A','A','A','A','B','B','B','B']})
sns.boxplot(data = df, y = "Price", x = "Quantity", hue = 'Product', linewidth = 2.5 , palette = 'Set2')
我們還可以使用 catplot()
函式來建立箱線圖。catplot()
函式非常適合繪製分類值。要使用此函式建立箱線圖,我們需要將 catplot()
函式中的 kind
引數的值指定為 box
。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn