Seaborn Swarmplot
散點圖是最基本和最有用的圖形之一。Python 中的 seaborn 模組可以將此類圖更進一步,並使用它們來表示分類值。
群圖是一種散點圖,用於表示分類值。它與帶狀圖非常相似,但它避免了點的重疊。我們可以使用 seaborn.swarmplot()
來建立這樣的圖表。
當樣本量很大時,不建議使用這種型別的圖。
我們將在以下程式碼中使用 swarmplot()
函式為分類值建立這樣的圖表。
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.swarmplot(data = df, y = "Price", x = "Quantity")
在上面的示例中,我們可以將 hue
引數新增到 swarmplot()
函式,並將兩種不同產品的類別分開。我們可以使用 dodge
引數拆分兩個產品並將其設定為 True。
此外,我們還可以在 swarmplot()
函式中使用其他一些引數。可以使用 size
和 color
引數更改點的大小和顏色。我們可以使用 palette
引數更改用於不同類別的顏色組合。linewidth
引數為指定寬度的點新增邊框。可以使用 order
引數控制繪製類別的順序。
我們將嘗試在以下示例中使用上述引數。
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.swarmplot(data = df, y = "Price", x = "Quantity", hue = 'Product', dodge = True,
linewidth = 2.5 , palette = 'Set2', size = 10)
swarmplot()
也可以用作對盒子或小提琴圖的很好的讚美。它可以很好地瞭解資料的分佈。
我們可以使用以下程式碼在群圖上新增一個箱線圖。
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.swarmplot(n, color = 'red')
catplot()
函式也可以建立這樣的群圖。為此,我們需要將 catplot()
函式中 kind
引數的值指定為 swarm
。
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