2016-07-20 12 views
0

diese Grafik Gegeben:matplotlib: Steuer Ind Stufung

import matplotlib.pyplot as plt 
plt.rcdefaults() 
import numpy as np 
import matplotlib.pyplot as plt 

# Example data 
people = ('Tom', 'Dick', 'Harry', 'Slim') 
y_pos = np.arange(len(people)) 
performance = 3 + 10 * np.random.rand(len(people)) 

plt.barh(y_pos, performance, align='center', alpha=0.4) 

plt.show() 

enter image description here Sie werden bemerken, dass die y-Achse ind (Index?) In Schritten von 0,5 ist. Allerdings, wenn ich eine Person in die Liste der Personen und starten Sie den Code hinzufügen, ist der Index in Schritten von 1

Gibt es eine Möglichkeit um die einzelnen Schritte zu steuern, so dass sie immer in Einheiten von 1 sind ?

aktualisiert

Wenn ich irgendwie den Zuwachs bekommen kann (0,5 oder 1) von der y-Achse, das wäre genauso gut sein.

Antwort

1

Verwenden Sie die yticks Funktion wie folgt aus:

plt.yticks(range(len(y_pos))) 
+0

Ich brauche das zu löschen. Es ist für einen anderen Zweck, den ich frage. Ich brauche die ind-Werte immer in den gleichen Einheiten anzuzeigen, unabhängig davon, wie viele Bars es gibt. –

+0

@ DanceParty2 Die Bars hängt von der Anzahl der Leute ab, nicht wahr? Das macht genau das, was Sie wünschen –

+0

Nicht immer. Ich habe ein weiteres Balkendiagramm, das für 6 oder mehr Balken ein Inkrement von 1 startet, während dieses bei 5 oder mehr Balken beginnt. –