2013-06-03 14 views
8

Ho letto su questo. E non sono stato in grado di trovare come vengono mappati i dati per un istogramma. Il modo in cui lo capisco:Grafico a barre in pylab da un dizionario

Un grafico a barre ha un nome e un valore per ciascun contenitore.

Questo sembra essere un modo piuttosto semplice e intuitivo di guardarlo. Ho cercato in giro e ho trovato questa domanda: python: creating histogram out of dictionary

Quale sembrava essere molto lontano da quello che sto chiedendo.

Ho il seguente dizionario:

d = {'CLOVER':4,'SPADE':6,'DIAMOND':7,'HEART':2} 

e voglio creare un grafico a barre con questo dizionario. I numeri diventeranno più grandi. Ma il numero di contenitori rimarrà quattro.

Lo sto facendo come un progetto. Stiamo facendo questo genere di cose con diverse implementazioni e poi controllando quanto sia casuale (tecnicamente pseudo-casuale) ogni implementazione. E poi dobbiamo presentare un rapporto. Che costruiremo insieme.

per favore aiutarmi con il codice. E anche alcuni esempi.

spec

Python 2.7 
Tkinter 8.5 
Pylab 
+0

Sembra che tu abbia l'istogramma. Cosa vuoi? – zhangyangyu

+0

Ho ottenuto l'istogramma da Excel! Voglio farlo usando pylab! – IcyFlame

+2

Non lo chiamerei un istogramma, ma un grafico a barre. Con questo in mente, matplotlib ha numerosi [esempi su grafici a barre] (http://matplotlib.org/examples/index.html) (cerca solo 'bar'), così come una [vasta galleria] (http://matplotlib.org/gallery.html) con grafici a barre come i tuoi. – Evert

risposta

16

Ho provato questo e ottenere un istogramma simile:

import pylab as pl 
import numpy as np 

d = {'CLOVER':4,'SPADE':6,'DIAMOND':7,'HEART':2} 
X = np.arange(len(d)) 
pl.bar(X, d.values(), align='center', width=0.5) 
pl.xticks(X, d.keys()) 
ymax = max(d.values()) + 1 
pl.ylim(0, ymax) 
pl.show() 

Non è la stessa, ma simile. Se si desidera modificare il colore, la larghezza o ecc., Fare riferimento a http://matplotlib.org/api/pyplot_api.html. enter image description here

+0

esattamente quello che ho detto solo qualche tempo prima che tu rispondessi! Grazie comunque! – IcyFlame

Problemi correlati