2017-03-11 2 views
23

Ich habe ein Histogramm in Jupyter (Python 2) gezeichnet und erwartet, die Umrisse meiner Balken zu sehen, aber das ist nicht der Fall.Python Histogramm Umriss

enter image description here

Ich verwende den folgenden Code:

import matplotlib.pyplot as plt 
from numpy.random import normal 
gaussian_numbers = normal(size=1000) 
plt.hist(gaussian_numbers) 
plt.title("Gaussian Histogram") 
plt.xlabel("Value") 
plt.ylabel("Frequency") 
plt.show() 
+2

für mich der Code ausgeführt wird, sind die Linien dort. Haben Sie die Standardlinienbreite geändert? Zweite Schätzung, die Kantenfarbe könnte die gleiche wie die Balkenfarbe sein. (versuchen Sie Aufruf: plt.hist (Gaussian_numbers, Linienstärke = 1, Edgecolor = 'r') – Joma

+7

Der Grund, einige Leute sehen die Umrisse standardmäßig und andere nicht, ist, dass sie verschiedene Versionen von Matplotlib verwenden.Der Fragesteller verwendet Matplotlib 2.0 Während Joma und @James Matplotlib 1.5 benutzen, bringt 'edgecolor = "k" 'die Zeilen zurück in Matplotlib 2.0. – ImportanceOfBeingErnest

Antwort

41

Es sieht aus wie entweder Ihre linewidth wurde auf Null gesetzt oder Ihre edgecolor-'none' gesetzt wurde. Matplotlib hat die Standardeinstellungen für diese in 2.0 geändert. Versuchen Sie es mit:

plt.hist(gaussian_numbers, edgecolor='black', linewidth=1.2) 

enter image description here

+0

Siehe auch @ImportanceOfBeingErnest's Kommentar warum das so ist –

+0

Woher weißt du' edgecolor'? In der Dokumentation (https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html) gibt es keine Erwähnung dazu – Atcold

+0

In Ihrem Dokumentationslink ist der letzte Abschnitt "Andere Parameter" enthält " ** kwargs 'Der Link neben' kwargs' ist die Patch-Dokumentation.Dies zeigt an, dass jeder Parameter, der auf einen Patch angewendet werden kann, als Schlüsselwortargument an 'hist' übergeben werden kann, einschließlich' edgecolor' – James