python坐标轴刻度设置_Pythonmatplotlib限制为整数刻度位置参见英⽂答案 > How to force the Y axis to only use integers in Matplotlib3个
我常常想制作计数条形图.如果计数很低,我经常得到不是整数的主要和/或次要刻度位置.我怎么能阻⽌这个?当数据是计数时,在1.5处打勾是没有意义的.
这是我的第⼀次尝试:
import pylab
pylab.figure()
ax = pylab.subplot(2, 2, 1)
pylab.bar(range(1,4), range(1,4), align='center')
major_tick_locs = _majorticklocs()
if len(major_tick_locs) < 2 or major_tick_locs[1] - major_tick_locs[0] < 1:
ax.yaxis.set_major_locator(pylab.MultipleLocator(1))
minor_tick_locs = _minorticklocs()
if len(minor_tick_locs) < 2 or minor_tick_locs[1] - minor_tick_locs[0] < 1:
ax.yaxis.set_minor_locator(pylab.MultipleLocator(1))
当计数很⼩时⼯作正常但是当它们很⼤时,我得到很多很⼩的刻度:
import pylab
ax = pylab.subplot(2, 2, 2)
pylab.bar(range(1,4), range(100,400,100), align='center')
major_tick_locs = _majorticklocs()
matplotlib中subplotif len(major_tick_locs) < 2 or major_tick_locs[1] - major_tick_locs[0] < 1:
ax.yaxis.set_major_locator(pylab.MultipleLocator(1))
minor_tick_locs = _minorticklocs()
if len(minor_tick_locs) < 2 or minor_tick_locs[1] - minor_tick_locs[0] < 1:
ax.yaxis.set_minor_locator(pylab.MultipleLocator(1))
如何在第⼀个⽰例中获得所需的⾏为,并计算⼩数量,同时避免在第⼆个⽰例中发⽣的事情?