Seaborn boxplot 中的框坐标

1''*_*1'' 2 python matplotlib seaborn

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

tmd*_*son 6

你可以四处寻找它们,但它并不漂亮。

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())
Run Code Online (Sandbox Code Playgroud)

这将打印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)
Run Code Online (Sandbox Code Playgroud)