Python中用竖线分隔盒形图组

5

我希望添加额外的垂直线来分隔箱线图组,就像右侧图片中所示。左侧图片是原始图片(来源:https://www.originlab.com/doc/Origin-Help/DoubleY-Box-Chart)。我希望通过使用 matplotlib 或 seaborn 包来帮助我如何实现这一点。谢谢和祝好。

enter image description here

我正在使用以下简单代码创建示例箱线图:

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")

你能否添加使用箱线图的代码? - Nathan
@Przem 我已经使用Matplotlib给出了一个答案。这对你有用吗?否则,你能否发布df.to_dict()的输出,其中df是数据框名称。 - instinct246
1
@instinct246 谢谢你的回答。我修改了x向量,给出了以下值:[0.5,1.5,2.5]。然后对于我提供的简单代码,我只能在组之间进行分离。 - Przem
1个回答

10

如果您已经创建了axes或plots,可以使用这行代码使用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]]

4
感谢您的回答。我修改了 x 向量,给出了以下数值:[0.5,1.5,2.5]。然后针对我提供的简单代码,我得到了仅在群组之间进行分离的结果。 - Przem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接