2014-01-21 60 views
0

我試圖設置繪圖上的刻度標籤(散點圖3D),並確保它們始終具有相同的增量,而不管我的散點數據中的值如何。用增量設置刻度標籤

scat = ax.scatter(X, Y, C, edgecolor='black', linewidth=0.5, s=160, alpha=0.6) 
ax.set_xlim([0, 10]) 
ax.set_ylim(0) 

現在,如果我離開它這樣的,x軸將有刻度標記0,2,4,...,10,這是不是我想要的。我希望刻度標籤始終爲1,2,3,...,9(注意,我不想讓0出現)。例如,即使只有x = 3的數據,我也想將xlim設置爲10。達到此目的的最佳方法是什麼?

編輯與Locator

我試着用Locator,但我STIL有同樣的問題:

scat = ax.scatter(X, Y, C, edgecolor='black', linewidth=0.5, s=160, alpha=0.6) 
ax.xaxis.set_major_locator(MultipleLocator(1)) 
ax.set_ylim(0) 

我可以通過1正確地增加,但我不知道怎樣才能限制它從1到9.

+0

查找'Locators' – tacaswell

+0

@tcaswell查看我的編輯。 –

+0

呵呵,認爲有一個偏移選項....儘管我保留,我認爲這裏的_easiest_解決方案是使用@xndrme的答案。按照我的建議,這樣做的方法是編寫一個新的定位器類。 – tacaswell

回答

1

使用set_xticks

ax.set_xlim([0, 10]) 
ax.set_xticks(range(1,10)) 
+0

'set_xticks'是輕度危險的。 – tacaswell

+0

@tcaswell你是什麼意思,輕度危險?我對Python很陌生。 –

+0

在'ax.scatter'行之後設置'xlim'和'xticks'可以嗎?還是應該設置之前? –