2012-02-14 26 views
5

Trong matplotlib, đôi khi các dấu tick chính quá gần nhau trong một ô loglog. Thay vì thiết lập chúng theo cách thủ công, có thể sử dụng một cái gì đó tương tự như MaxNLocator để đặt bọ ve tại n-vị trí trong một quy mô đăng nhập?Làm thế nào để chọn bọ ve ở vị trí n trong ô lôgic?

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

Trả lời

3

Đối với mỗi trục, bạn có thể thiết lập một LogLocator:

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

enter image description here

4

Trong phiên bản mới nhất của matplotlib (1.2.0), để có được một cái gì đó tương tự hơn đến MaxNLocator bạn cũng có thể sử dụng giải pháp @unutbu với

ax.xaxis.set_major_locator(ticker.LogLocator(numticks=6)) 
Các vấn đề liên quan