2017-06-21 2 views
1

Ich habe ein barh Balkendiagramm mit zwei Bars in der Figur nur, aber wenn sie Plotten, sie sind sehr weit voneinander entfernt:Python matplotlib barh reduzieren Lücke zwischen den Stäben

import numpy as np 
import matplotlib.pyplot as plt 

labels = ('Out', 'In') 
bar_values = [5, 10] 
num_items = len(labels) 
width = 0.25 
ind = np.arange(num_items) 
bar_width = 0.1 

fig = plt.figure() 

ax = fig.add_subplot(111) 

barlist = ax.barh(ind, 
       bar_values, 
       bar_width, 
       align='edge', 
       color='green') 

barlist[0].set_color('mediumseagreen') 
barlist[1].set_color('orangered') 

ax.set_yticks(ind) 
ax.set_yticklabels(labels) 
ax.invert_yaxis() # labels read top-to-bottom 
ax.set_xlabel('Total') 

plt.show() 

Gibt es eine Möglichkeit, die Bars des Setzens näher zusammen? Ich habe bereits versucht, die Größe der Figur anzugeben, aber das reduziert nur die Gesamtgröße und hat keinen Einfluss auf die Lückengröße ...

Antwort

2

Sie könnten entweder nur die Breite der Balken erhöhen, indem Sie bar_width = 0.6 oder eine ähnliche Einstellung vornehmen Wert, oder Sie können den y Bereich der Figur, zum Beispiel reduzieren:

barlist = ax.barh([0.1, 0.3], 
       bar_values, 
       bar_width, 
       align='edge', 
       color='green') 
ax.set_yticks([0.1, 0.3]) 
ax.set_yticklabels(labels) 

Beide sollen die Breite der Balken im Vergleich zu dem Abstand zwischen den Stäben erhöhen. Reduced y range

Verwandte Themen