2012-03-13 17 views
5

Ho dati in una mappa di hash e voglio creare un istogramma su questi dati usando i tasti come bin e i valori come dati.Come posso creare un istogramma da una hashmap in python?

I miei dati:

N = {1: 12, 2: 15, 3: 8, 4: 4, 5: 1} 

Quello che voglio tracciate:

| 
15| X 
    | X 
    | X 
    | X X 
    | X X 
10| X X 
    | X X 
    | X X X 
    | X X X 
    | X X X 
5| X X X 
    | X X X X 
    | X X X X 
    | X X X X 
    | X X X X X 
    |_________________________ 
    1 2 3 4 5 

ho cercato di capire come fare questo con pyplot.hist(), ma tutti i sovraccarichi posso trovare assumono un elenco di valori, non una hashmap. Devo davvero generare questa lista, solo per far matplotlib contare tutti i valori di nuovo?

risposta

15

Basta tracciare un grafico a barre. Questo è tutto hist fa.

Es .:

import matplotlib.pyplot as plt 

N = {1: 12, 2: 15, 3: 8, 4: 4, 5: 1} 
plt.bar(N.keys(), N.values(), align='center') 
plt.show() 

enter image description here

1

Si può facilmente ottenere un elenco:

my_list = N.values() 

Tale struttura è chiamato un dizionario in Python BTW.

Problemi correlati