2012-02-14 16 views
5

W matplotlib, czasami duże tyknięcia są zbyt blisko siebie na wykresie loglog. Zamiast ustawiać je ręcznie, czy można użyć czegoś podobnego do MaxNLocator, aby umieścić kleszcze w n-lokalizacjach w skali logarytmicznej?Jak wybrać tyknięcia w pozycjach n na wykresie logu?

import numpy as np 
import pylab as p 

x=np.logspace(1,20,10) 

fig=p.figure() 
ax1=fig.add_subplot(121) 
ax1.loglog(x,x,'o') 
ax2=fig.add_subplot(122) 
ax2.loglog(x,x,'o') 
fig.show() 

Figure

Odpowiedz

3

dla każdej osi można ustawić LogLocator:

ax.xaxis.set_major_locator(ticker.LogLocator(base = 1000.0)) 

enter image description here

4

w najnowszej wersji (1.2.0 matplotlib), aby dostać coś bardziej podobnego do MaxNLocator możesz również użyć rozwiązania @unutbu z

ax.xaxis.set_major_locator(ticker.LogLocator(numticks=6)) 
Powiązane problemy