2012-08-25 17 views
14

Vorrei modificare l'intervallo x predefinito per il grafico dell'istogramma. Il range dei dati è compreso tra 7 e 12. Tuttavia, per impostazione predefinita l'istogramma inizia a destra a 7 e termina a 13. Voglio che inizi a 6.5 e termini a 12.5. Tuttavia, le zecche dovrebbero andare da 7 a 12. Come faccio?modifica intervallo x predefinito in istogramma matplotlib

import asciitable 
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.mlab as mlab 
import pylab 
from pylab import xticks 

data = asciitable.read(file) 
hmag = data['col8'] 
visits = data['col14'] 
origin = data['col13'] 


n, bins, patches = plt.hist(hmag, 30, facecolor='gray', align='mid') 
xticks(range(7,13)) 
pylab.rc("axes", linewidth=8.0) 
pylab.rc("lines", markeredgewidth=2.0) 
plt.xlabel('H mag', fontsize=14) 
plt.ylabel('# of targets', fontsize=14) 
pylab.xticks(fontsize=15) 
pylab.yticks(fontsize=15) 
plt.grid(True) 
plt.savefig('hmag_histogram.eps', facecolor='w', edgecolor='w', format='eps') 
plt.show() 

risposta

34
plt.hist(hmag, 30, range=[6.5, 12.5], facecolor='gray', align='mid') 
+0

Grazie per la risposta. Tuttavia, facendo ciò ottengo il seguente errore: >> n, bin, patch = plt.hist (hmag, intervallo = [6.5, 12.5], 30, facecolor = 'gray', align = 'mid') >> SyntaxError: non-keyword arg dopo la parola chiave arg – Rohit

+1

Devi usare lo stesso ordine che ho usato sopra. Mettendo '30' dopo la parola chiave range si otterrà un' Syntaxerror'. – tiago

+0

Grazie ha funzionato! – Rohit

0
import matplotlib.pyplot as plt 


... 


plt.xlim(xmin=6.5, xmax = 12.5) 
+0

Questo non mantiene il numero di bin definiti nel parametro bin. – mountrix

+0

Funziona in python3 (assumendo che il tuo xmin/xmax sia abbastanza grande) puoi dare un esempio in cui non tiene conto dei conteggi? – Erich

Problemi correlati