Wie center-Etiketten im Histogramm-plot

Habe ich ein numpy-array results, das aussieht wie

[ 0.  2.  0.  0.  0.  0.  3.  0.  0.  0.  0.  0.  0.  0.  0.  2.  0.  0.
  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.
  0.  1.  1.  0.  0.  0.  0.  2.  0.  3.  1.  0.  0.  2.  2.  0.  0.  0.
  0.  0.  0.  0.  0.  1.  1.  0.  0.  0.  0.  0.  0.  2.  0.  0.  0.  0.
  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  3.  1.  0.  0.  0.  0.  0.
  0.  0.  0.  1.  0.  0.  0.  1.  2.  2.]

Ich möchte plot eines Histogramms der es. Ich habe versucht

import matplotlib.pyplot as plt
plt.hist(results, bins=range(5))
plt.show()

Gibt mir ein Histogramm mit der x-Achse gekennzeichnet 0.0 0.5 1.0 1.5 2.0 2.5 3.0. 3.5 4.0.

Ich möchte die x-Achse beschriftet werden soll 0 1 2 3 statt mit den labels in der Mitte der einzelnen Balken. Wie Sie das tun können?

  • Im nicht sicher, was Sie wollen. Wollen Sie den Behälter zentriert um 1,2,3 (so um die integer statt der 1.5, 2.5-Werte). Oder wollen Sie für die Beschriftung der Balken mit text oder so? Denn wenn, führe ich Ihren Befehl, meine Ausgabe ist (array([ 4., 5., 1., 2.]), array([0, 1, 2, 3, 4]) (mit unterschiedlichen Eingabewerten). Also hab ich mir verschiedene Behälter, oder vermisse ich etwas?
  • Der erste Balken ist die Anzahl der 0EN in results, die zweite die zahlen von 1s (gibt es elf davon), der Dritte die Anzahl der 2s (es gibt acht) und die Letzte ist die Anzahl der 3s - (es gibt drei davon). Ich möchte die Anzahl 0 als ein label, unter der Mitte der ersten bar, die Nummer 1 als ein label, unter der Mitte des zweiten und so weiter. Ist das klarer?
  • So gibt es keine Probleme mit der Gruppierung, die Sie gerade hinzufügen möchten Etiketten auf die Behälter?
  • Ja, ich möchte, um loszuwerden, der Standard-Etiketten und fügen Sie die, die ich beschrieben.
InformationsquelleAutor eleanora | 2014-04-23
Schreibe einen Kommentar