如何获取对当前图形和轴对象的引用,以便我可以强制条形图y轴仅显示整数

时间:2017-05-26 09:09:58

标签: python-3.x matplotlib

提出了类似的问题:

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()

条形图:

A bar graph

我只想在y轴上显示整数,在x轴上显示相反的数字(即数字0到10,增量为0.5)。

1 个答案:

答案 0 :(得分:2)

您可以使用fig = plt.gcf()ax = plt.gca()来获取对当前图形和轴对象的引用。

但是,使用matplotlib object-oriented interface始终可以让您访问figax,并使代码更清晰,您控制的是哪个数字和轴。

此外,您可以使用matplotlib.ticker模块更好地控制刻度线位置。在这种情况下,MultipleLocator可以为1的{​​{1}}和yaxis的{​​{1}}的倍数设置刻度线位置。

0.5

enter image description here