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