2017-06-02 33 views
0

我使用「matplotlib locator_params」,以減少θ軸標籤的下面的情節頻率: enter image description here 使用此行代碼:爲什麼Matplotlib locator_params隱藏負面標籤?

ax.locator_params(axis='x', nbins=30) 

工作正常,但負面的標籤被隱藏。結果如下: enter image description here 如何顯示負面標籤?

另外,如何減少在r(經度)方向的標籤數量?用y而不是x替換參數軸不適用於我。

回答

1

在極座標圖上,theta軸總是從0到2 pi。您可以定義自己的FixedLocator以設置軸。

loc = matplotlib.ticker.FixedLocator(np.linspace(0,2*np.pi, 30, endpoint=False)) 
ax.xaxis.set_major_locator(loc) 

然後,您可以更改ticklabels

ticks = -(np.roll(np.linspace(-np.pi/2,np.pi/2, 30, endpoint=False), -15)*180/np.pi) 
ticker= matplotlib.ticker.FixedFormatter(ticks) 
ax.xaxis.set_major_formatter(ticker) 
+0

感謝。關於我上面的第二個問題,你知道爲什麼:'ax.locator_params(axis ='y',nticks = 3)'不起作用嗎? –

+1

你的意思是'nbins = 3'?軸上的Locator是一個'RadialLocator',它使用'AutoLocator',它將'MaxNLocator'的子類繼承下來。因此,您可以使用'ax.yaxis.get_major_locator()。base.set_params(nbins = 3)'來設置位置數量。 – ImportanceOfBeingErnest

+0

非常感謝。 –