2011-12-16 244 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