在直方图matplotlib中更改默认x范围

Roh*_*hit 21 python matplotlib xrange histogram

我想更改直方图的默认x范围.数据范围是7到12.但是,默认情况下,直方图从7开始,到13结束.我希望它从6.5开始,到12.5结束.但是,刻度应该从7到12.我该怎么做?

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()
Run Code Online (Sandbox Code Playgroud)

tia*_*ago 48

plt.hist(hmag, 30, range=[6.5, 12.5], facecolor='gray', align='mid')
Run Code Online (Sandbox Code Playgroud)

  • 您必须使用与我上面使用的相同的顺序。在 range 关键字后面放置“30”将导致“语法错误”。 (2认同)
  • @aging_gorrila,yrange只是绘图的属性,不需要重新计算直方图.完成绘图后,你可以调用`ylim(a,b)`. (2认同)

Eri*_*ich 10

import matplotlib.pyplot as plt


...


plt.xlim(xmin=6.5, xmax = 12.5)
Run Code Online (Sandbox Code Playgroud)