Matplotlib - 以对数刻度标记绘图的方向

use*_*754 4 python matplotlib

我想在布局内绘制刻度标记。但自从Python更新后,这些标记被绘制在外面......我尝试在我的脚本中添加“ax.yaxis.set_tick_params(direction = 'in')”。它仅适用于主要值。

fig, ax = plt.subplots()
plt.loglog(testI[:],a[:],'b+',linewidth=2,label='a');

plt.loglog(testI[:],b[:],'y+',linewidth=2,label='b');

plt.xlim(6,45)
plt.ylim(10**(-7),19**(-1))

ax.yaxis.set_tick_params(direction = 'in')
ax.xaxis.set_tick_params(direction = 'in')

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ano*_*non 6

该方法采用默认为 的set_tick_params关键字参数。您想传递也包括次要刻度。which'major''both'

例子:

from matplotlib import pyplot
(figure, axes) = pyplot.subplots()
axes.loglog([], [])
axes.set_xlim(1,100)
axes.set_ylim(1,100)
axes.xaxis.set_tick_params(direction='in', which='both')
axes.yaxis.set_tick_params(direction='in', which='both')
pyplot.show()
Run Code Online (Sandbox Code Playgroud)

您还可以axes.tick_params在该示例中使用在一次调用中配置两个轴。