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
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
