This example,扩展here,展示了如何在Matplotlib中标记条形图;类似的想法可用于标记箱形图。它依赖于知道条形图函数返回的条形图的x和y坐标。我如何为Seaborn box plots做同样的事情?不幸的是,Seaborn没有返回这些坐标。
答案 0 :(得分:2)
你可以稍微破解一下来找到它们,但它并不漂亮。
sns.boxplot
会返回绘制框的matplotlib
轴实例。
这些框创建为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)