在matplotlib中,有时主要标记在loglog
图中彼此过于接近。不是手动设置它们,而是可以使用类似于MaxNLocator
的东西在对数刻度的n个位置放置刻度线?
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()
答案 0 :(得分:5)
在最新版本的matplotlib(1.2.0)中,获得更类似MaxNLocator
的内容
您还可以使用@unutbu的解决方案
ax.xaxis.set_major_locator(ticker.LogLocator(numticks=6))
答案 1 :(得分:4)
对于每个轴,您可以设置LogLocator:
from matplotlib import ticker
ax.xaxis.set_major_locator(ticker.LogLocator(base = 1000.0))