Matplotlib box-plot-Flieger nicht angezeigt
Ich Frage mich, ob jemand hatte ein Problem mit Matplotlib s box plot Flieger nicht zeigen?
Ich wörtlich kopieren-einfügen in diesem Beispiel hier, in ein python-Skript:
http://blog.bharatbhole.com/creating-boxplots-with-matplotlib/
...aber die box-plot-Flieger (Ausreißer) werden nicht angezeigt. Weiß jemand, warum ich kann nicht Sie zu sehen? Sorry, wenn dies eine dumme Frage, aber ich kann nicht für das Leben von mir herauszufinden, warum es nicht funktioniert.
## Create data
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
## combine these different collections into a list
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
# Create a figure instance
fig = plt.figure(1, figsize=(9, 6))
# Create an axes instance
ax = fig.add_subplot(111)
# Create the boxplot
bp = ax.boxplot(data_to_plot)
Ich auch versucht, indem showfliers=True
auf die Letzte Zeile der Skript, aber es funktioniert immer noch nicht.
Dies ist, was bekomme ich als Ausgabe:
- Ich reproduzierte das original von der Kopie-einfügen von code. Hast du irgendwas anderes geladen? Gitter / hintergrund einfärben / Einheit-Schriften, die scheinen alle nicht-standard.
- Ich bin mit einem iPython notebook... ich habe es erwähnt. Das könnte der Grund sein. Wissen Sie, wie man die Formatierung wieder auf die Standard-Matplotlib Einstellungen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Aussehen, von Ihrem Grundstück, es scheint, Sie haben importiert, die seaborn Modul. Es ist ein Problem mit matplotlib boxplot Flieger nicht angezeigt, wenn seaborn importiert wird, selbst wenn die Flieger sind explizit aktiviert werden. Dein code scheint zu funktionieren gut, wenn seaborn wird nicht importiert:
Wenn seaborn importiert wird, können Sie das folgende tun:
Lösung 1:
Vorausgesetzt, Sie haben importiert, seaborn wie diese:
import seaborn as sns
können Sie die seaborn boxplot-Funktion:
sns.boxplot(data_to_plot, ax=ax)
ergibt:
Lösung 2:
In Fall, dass Sie zu halten mit der matplotlib boxplot-Funktion (aus Automatische (whisker-Sensitiv), ylim in boxplots):
ax.boxplot(data_to_plot, sym='k.')
ergibt:
Möglicherweise nicht Flieger, wenn der Flieger Markierung gesetzt wurde, um
None
. Die Seite, die Sie verlinkt hat einefor flier in bp['fliers']:
Schleife, die die Flieger marker Stil, Farbe und alpha:Erträge
marker=None
? Ändern Sie es zumarker='o'
generiert den graph (für mich).marker
Einstellung.bp['fliers']
, aber ich kann nicht einen Weg finden, extrahieren Sie die Werte von ihm. Solange ich die Werte, ich glaube, ich kann Plotten Sie über meine box-plot.[line.get_data() for line in bp['fliers']]
aber es sollte eine Möglichkeit zu konfigurieren, IPython oder matplotlib/seaborn zum anzeigen der Flieger automatisch.