How to overlay data points on a barplot with a categorical axis(如何使用类别轴覆盖条形图上的数据点)
本文介绍了如何使用类别轴覆盖条形图上的数据点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目标:我正在尝试使用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
)映射到图形级别绘图。- 参见Building structured multi-plot grids
- 这可能是一个变化无常的过程,并且可能仅在映射绘图中使用数据框中的相同列时才起作用。
- 测试于
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)
这篇关于如何使用类别轴覆盖条形图上的数据点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何使用类别轴覆盖条形图上的数据点
基础教程推荐
猜你喜欢
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01