2012-08-25 22 views
14

Me gustaría cambiar el rango x predeterminado para el gráfico del histograma. El rango de los datos es de 7 a 12. Sin embargo, de manera predeterminada, el histograma comienza a la derecha en 7 y termina en 13. Quiero que comience en 6.5 y termine en 12.5. Sin embargo, los tics deberían ir de 7 a 12. ¿Cómo lo hago?cambiando el rango por defecto x en el histograma 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() 

Respuesta

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

Gracias por su respuesta. Sin embargo, al hacerlo obtengo el siguiente error: >> n, contenedores, parches = plt.hist (hmag, rango = [6.5, 12.5], 30, facecolor = 'gris', alinear = 'medio') >> SyntaxError: arg sin palabra clave después de la palabra clave arg – Rohit

+1

Tienes que usar el mismo orden que he usado anteriormente. Poner '30' después de la palabra clave range llevará a' Syntaxerror'. – tiago

+0

¡Gracias funcionó! – Rohit

0
import matplotlib.pyplot as plt 


... 


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

Esto no mantiene la cantidad de contenedores definidos en el parámetro de contenedores. – mountrix

+0

Esto funciona en python3 (suponiendo que tu xmin/xmax sea lo suficientemente grande) ¿Puedes dar un ejemplo en el que no mantenga el recuento de contenedores? – Erich

Cuestiones relacionadas