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