提出了类似的问题:
how to force matplotlib to display only whole numbers on the Y axis
我正在尝试为条形图做同样的事情。我的问题是bar对象没有解包到fig,ax。这是代码:
import matplotlib.pylab as plt
x = [0, 0.5, 1, 2, 3, 3.5, 4, 4.5, 5, 7.5, 8.5,9]
y = [1,2,2,3,1,2,2,2,2,1,1,0]
width = 0.5
plt.bar(x, y, width, color="pink")
plt.xlabel('score')
plt.ylabel('antall')
plt.show()
条形图:
我只想在y轴上显示整数,在x轴上显示相反的数字(即数字0到10,增量为0.5)。
答案 0 :(得分:2)
您可以使用fig = plt.gcf()
和ax = plt.gca()
来获取对当前图形和轴对象的引用。
但是,使用matplotlib
object-oriented interface始终可以让您访问fig
和ax
,并使代码更清晰,您控制的是哪个数字和轴。
此外,您可以使用matplotlib.ticker
模块更好地控制刻度线位置。在这种情况下,MultipleLocator
可以为1
的{{1}}和yaxis
的{{1}}的倍数设置刻度线位置。
0.5