2017-06-05 1 views
-2

Versuchen, Gruppenbargraph mit MatPlotLib zu zeichnen, aber die Positionen meiner Bars ist falsch.Falsche Positionen der Gruppenleisten im Plot

So habe ich ein Datum:

groups = [ 
    np.array([ group1.count(0), group1.count(1) ]), 
    np.array([ group2.count(0), group2.count(1) ]), 
] 

Die group ist [[1, 3], [0, 5]], und das bedeutet, dass jede Gruppe zwei Farben hat. In der ersten Gruppe wählen nur 1 Personen die erste Farbe und 3 andere wählen die zweite Farbe. Ich versuche es zu zeichnen, aber die Position der Balken ist falsch: 3 von der ersten Gruppe in die zweite Gruppe und so weiter.

Wo ist mein Fehler, und warum das passiert?

Der Code, um die Daten zeichnen:

import matplotlib.pyplot as plt 
import pandas as pd 
import numpy as np 

def draw(groups): 
    group_labels = ['G1', 'G2'] 
    num_items = len(group_labels) 
    ind = np.arange(num_items) 
    margin = 0.05 
    width = (1.-2.*margin)/num_items 
    colors = ['#f5abb5', '#2fc2ef'] 

    s = plt.subplot(1,1,1) 
    for num, vals in enumerate(groups): 
     xdata = ind+margin+(num*width) 
     plt.bar(xdata, vals, width, color=colors[num]) 
    s.set_xticks(ind+0.5) 
    s.set_xticklabels(group_labels) 


draw(groups) 

Antwort

Verwandte Themen