2011-12-16 627 views
4

我有两个列表,大小相同,一个是y_data,另一个是x_data x_data是白天的时间hh:mm:ss,其实每个分钟 每个系列是1440长。Python和plot():如何限制x轴刻度数(标签)

问题是:

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

给不可读X_AXIS(太多标签),如果我减少x_data到[range(24)]例如,情节给出了一个错误。

问:

我想只有24 X_AXIS规模项目(每个小时,所以1项各60 x_data分) 有一个简单的方法来实现这一目标? set_autoscale_on(False)然后手动设置限制似乎是一个非常复杂的方式来实现这一点(我会放弃y轴自动缩放的好处)。 另一个解决方案似乎涉及a.xaxis.set_ticks()但我必须创造一个新的系列。

o我想使用x_data,但只限制x_axis上显示的刻度数,有没有办法做到这一点?

回答

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) 
+0

给“AxesSubplot”对象有没有属性“locator_params” – user1097922 2011-12-16 15:13:57