使用 matplotlib 中的定位器参数更改刻度线的数量

pel*_*kat 5 python axes matplotlib

我正在尝试使用定位器参数控制图表上的刻度线数量。我想要一个有 5 条垂直线加上图形的两条边的图形(即 x 轴和 y 轴上总共有 7 个值)。

我一直在使用定位器参数并尝试设置 nbins = 7,但这不起作用。除非我使用极端值,例如 nbins = 12 或 nbins = 3,否则我的图表上没有任何变化,我不明白为什么。

这是我的一些代码:

    gs1 = gridspec.GridSpec(3,3)
    ax6 = plt.subplot(gs1[-1,-1])
    q=np.arange(79.9,80.1,1e-4)
    ax6.plot(q, np.exp(-((q-80)**2)/(2*sig_gauss[2]**2)),'k')
    ax6.grid()
    ax6.locator_params(axis = 'y',nbins=7)
    ax6.locator_params(axis = 'x',nbins=7)
    ax6.set_xlim(79.9,80.1)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么改变 nbins 的数量有时只能起作用。

pel*_*kat 0

如果有人有兴趣知道答案,我找到了一种有效的方法。使用np.lispace创建正确数量的垃圾箱。我用了

ax6.set_yticks(np.linspace(0,1,7))
Run Code Online (Sandbox Code Playgroud)