如何在对数图中的n位选择刻度?

ims*_*msc 5 python matplotlib

在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()
Run Code Online (Sandbox Code Playgroud)

数字

jar*_*ndl 6

在最新版本的matplotlib(1.2.0)中,要获得与MaxNLocator 您更相似的信息,还可以使用@unutbu的解决方案

ax.xaxis.set_major_locator(ticker.LogLocator(numticks=6))
Run Code Online (Sandbox Code Playgroud)


unu*_*tbu 4

对于每个轴,您可以设置一个LogLocator

from matplotlib import ticker
ax.xaxis.set_major_locator(ticker.LogLocator(base = 1000.0))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述