在python中分隔箱线图组的垂直线

Prz*_*zem 3 python matplotlib boxplot

我想绘制额外的垂直线,将像右侧图片中的分组箱线图分开。左图为原图(来源: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")
Run Code Online (Sandbox Code Playgroud)

ins*_*246 7

如果您已经创建了轴或图,您可以使用此线使用 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.
Run Code Online (Sandbox Code Playgroud)

或者

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

  • 谢谢你的答案。我修改了 x 向量,给出以下值:[0.5,1.5,2.5]。然后,对于我提供的简单代码,我仅在组之间进行分离。 (3认同)