目标:我正在尝试使用Seborn在带有多个分组条形图的图表中显示单个数据点。
问题:我尝试使用条形图的猫图和单个数据点的另一个猫图来完成此操作。但是,这会生成两个数字:一个数字带有条形图,另一个带有单个数据点。
问题:是否有办法使用Seborn将单个数据点与条形图一起显示在同一图形中?
这是我的代码,生成两个独立的数字:
import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.catplot(
x="sex",
y="total_bill",
hue="smoker",
row="time",
data=tips,
kind="bar",
ci = "sd",
edgecolor="black",
errcolor="black",
errwidth=1.5,
capsize = 0.1,
height=4,
aspect=.7,
)
g = sns.catplot(
x="sex",
y="total_bill",
hue="smoker",
row="time",
data=tips,
kind="strip",
height=4,
aspect=.7,
)
输出:
问题:是否有办法使用Seborn将单个数据点与条形图一起显示在同一图形中?
seaborn.catplot
)不能组合,但是可以将轴级绘图(seaborn.stripplot
)映射到图形级别绘图。
python 3.8.11
、matplotlib 3.4.3
、seaborn 0.11.2
import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.catplot(
x="sex",
y="total_bill",
hue="smoker",
row="time",
data=tips,
kind="bar",
ci = "sd",
edgecolor="black",
errcolor="black",
errwidth=1.5,
capsize = 0.1,
height=4,
aspect=.7,
alpha=0.5)
# map data to stripplot
g.map(sns.stripplot, 'sex', 'total_bill', 'smoker', hue_order=['Yes', 'No'], order=['Male', 'Female'],
palette=sns.color_palette(), dodge=True, alpha=0.6, ec='k', linewidth=1)
这篇关于如何使用类别轴覆盖条形图上的数据点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!