2016-05-22 20 views
0

This example, erweitert here, zeigt, wie Strichplots in Matplotlib beschriftet werden; Eine ähnliche Idee kann zum Beschriften von Box-Plots verwendet werden. Es beruht auf der Kenntnis der X- und Y-Koordinaten der Balken, die von der Barplot-Funktion zurückgegeben werden. Wie kann ich das gleiche für Seaborn box plots tun? Leider gibt Seaborn diese Koordinaten nicht zurück.Koordinaten von Kästen in Seaborn boxplot

Antwort

2

Sie können ein bisschen herumhacken, um sie zu finden, aber es ist nicht schön.

sns.boxplot gibt die matplotlib Axes-Instanz zurück, auf die die Felder gezeichnet werden.

Die Felder werden als matplotlib.patches.PathPatch Instanzen erstellt.

Wir können diese Instanzen wie so finden:

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

Dies wird die BBox der Boxen, in diesem Beispiel drucken:

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) 
Verwandte Themen