按列分组的散点图

问题描述 投票:0回答:1

我正在尝试在两种不同类型的 calcategories 变量上绘制散点图,每个变量具有三个不同的级别。现在我正在Python中使用seaborn库:

sns.pairplot(x_vars = ['UTM_x'], y_vars = ['UTM_y'], data = df, hue = "Mobility_Provider", height = 5)
sns.pairplot(x_vars = ['UTM_x'], y_vars = ['UTM_y'], data = df, hue = "zone_number", height = 5)

这给了我两个单独的散点图,一个按 Mobility_Provider 分组,一个按 zone_number 分组。但是,我想知道是否可以将这两个图组合在一起,例如不同级别的 Mobility_Provider 以不同的颜色表示,而不同级别的 zone_number 以不同的形状/标记表示。 非常感谢!

示例图如下: Plot1 Plot2

df 的每一行都有 x 和 y 值,以及两个分类变量(“Mobility_Provider”和“zone_number”)

python pandas seaborn scatter-plot
1个回答
2
投票

这可以使用seaborn的散点图轻松完成,只需使用

hue = "Mobility_Provider",style="zone_number"

像这样的东西

import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import pandas as pd

df = pd.DataFrame({'x':[1,2,3,4],'y':[1,2,3,4],'Mobility_Provider':[0,0,1,1],\
                   'zone_number':[0,1,0,1]})

sns.scatterplot(x="x", y="y",s=100,hue='Mobility_Provider',style='zone_number', data=df)
plt.show()

© www.soinside.com 2019 - 2024. All rights reserved.