此外,如果您只想在实际的y轴上显示较小的刻度,而不是在图表的左侧和右侧显示,则可以在plt.axes().yaxis.set_minor_locator(ml)后面加上plt.axes().yaxis.set_tick_params(which='minor', right = 'off'),如下所示:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.ticker importMultipleLocator
a = np.arange(100)
ml =MultipleLocator(5)
plt.plot(a)
plt.axes().yaxis.set_minor_locator(ml)
plt.axes().yaxis.set_tick_params(which='minor', right ='off')
6条答案
按热度按时间j2cgzkjk1#
算了,我想明白了。
ulydmbyx2#
下面是我在matplotlib documentation中发现的另一种方法:
这将把次要刻度 * 仅 * 放在y轴上,因为默认情况下次要刻度是关闭的。
rseugnpd3#
为了澄清@emad的答案的过程,在默认位置显示小刻度的步骤是:
1.为axes对象启用次要刻度,以便在Matplotlib认为合适的时候初始化位置。
1.关闭不需要的次要刻度。
一个最小的例子:
替代方法
或者,我们可以使用
AutoMinorLocator
在默认位置获取次要tick:结果
无论哪种方式,生成的图都只在y轴上有较小的刻度。
cdmah0mi4#
要在自定义位置设置次要刻度,请执行以下操作:
wgx48brx5#
此外,如果您只想在实际的y轴上显示较小的刻度,而不是在图表的左侧和右侧显示,则可以在
plt.axes().yaxis.set_minor_locator(ml)
后面加上plt.axes().yaxis.set_tick_params(which='minor', right = 'off')
,如下所示:6za6bjd06#
以下代码片段应该有所帮助: