Seaborn箱线图中框的坐标

5

这个示例在此处扩展,展示了如何在Matplotlib中标记条形图;类似的想法可以用于标记箱线图。它依赖于知道柱子的x和y坐标,这些坐标由barplot函数返回。我怎样才能为Seaborn箱线图做同样的事情?不幸的是,Seaborn不返回这些坐标。

1个回答

8

您可以尝试一些方法来找到它们,但这并不美观。

sns.boxplot 返回 matplotlib Axes 实例,箱线图就是画在上面的。

这些箱线图是作为 matplotlib.patches.PathPatch 实例创建的。

我们可以这样找到这些实例:

import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset("tips")

ax = sns.boxplot(x="day", y="total_bill", data=tips)

for c in ax.get_children():
    if type(c) == matplotlib.patches.PathPatch:
        print(c.get_extents())

这将打印出盒子的BBox,在这个例子中:

Bbox(x0=92.4, y0=116.996, x1=191.6, y1=162.242666667)
Bbox(x0=216.4, y0=114.957333333, x1=315.6, y1=171.6)
Bbox(x0=340.4, y0=125.576, x1=439.6, y1=189.141333333)
Bbox(x0=464.4, y0=131.926666667, x1=563.6, y1=194.172)

嗯,你有什么想法如何找出他们的坐标系统是如何工作的吗? - Anscandance

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