python 中用于分隔箱线图组的垂直线

Vertical lines to separate boxplot groups in python

我想绘制额外的垂直线来分隔分组的箱线图,如右图所示。左图为原图(来源:https://www.originlab.com/doc/Origin-Help/DoubleY-Box-Chart)。如果您能帮助我如何使用 matplotlib 或 seaborn 包来做到这一点,我将不胜感激。谢谢你,并致以最诚挚的问候。

我用来创建示例箱线图的简单代码:

fig, ax = plt.subplots(1, sharex=False, sharey=False, gridspec_kw={'hspace': 0}, figsize=(10, 5))
bill = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", hue="sex", data=bill, palette="PRGn")

如果您已创建坐标轴或绘图,则可以使用此线使用 matplotlib 绘制垂直线。我将 x 放在 [1,2,3,4] 中作为示例,您可以将列表中的元素替换为所需的宽度。

[ax.axvline(x, color = 'r', linestyle='--') for x in [1,2,3,4]] # you can put your desired colour instead of red.

[plt.axvline(x, color = 'r', linestyle='--') for x in [1,2,3,4]]