Python和plot():如何限制x轴刻度(标签)的数量

时间:2011-12-16 11:04:31

标签: python matplotlib

我有两个列表,大小相同,一个是y_data,一个是x_data x_data是时间hh:mm:ss在白天,实际上是每分钟 每个系列长1440。

问题是:

fig = Figure(figsize=(4,3))
a = gif.add_subplot(111)
a.plot(x_data, y_data)

给出一个不可读的x_axis(太多标签),如果我将x_data减少到[range(24)],例如,plot会给出错误。

问题:

我想在x_axis比例上只有24个项目(每小时,所以每个项目每个60 x_data点) 有没有一种简单的方法来实现这一目标? set_autoscale_on(False),然后手动设置限制似乎是一种非常复杂的方法来实现这一点(我将失去y轴上自动缩放的好处)。 另一个解决方案似乎涉及a.xaxis.set_ticks(),但我必须创建一个新的系列。

o我想使用x_data,但只是限制x_axis上显示的刻度数,有没有办法呢?

1 个答案:

答案 0 :(得分:6)

matplotlib的pyplot接口提供了一个函数locator_params,您可以在其中设置此选项:

fig = Figure(figsize=(4,3))
a = fig.add_subplot(111)
a.plot(x_data, y_data)
a.locator_params(nbins=4)