一、参考来源
下面这篇文章简单地介绍了该参数的作用,适合你先品尝。
调整坐标轴的刻度(locator_params)_You_are_my_dream的博客-CSDN博客
下面是一个付费文章,因为本人买不起;如果你觉得我讲的不好,请点击。
python使用matplotlib可视化、使用locator_params函数自定义调整坐标轴的刻度的个数
二、 nbins用来描述横坐标步长(非1:1关系)
以y轴(纵坐标)为例,假设ylim=[0,10],那么y轴的轴标间隔=(10-0)/nbins。
有些文章说nbins代表间隔的数目,我觉得这个说法不准确。
当nbins<(ymax-ymin)时,nbins约等于间隔的数目;具体等于多少,能否整除或者除法运算结果百分位。
当nbins>(ymax-ymin)时,nbins更是难以等于间隔数目;具体等于多少,能否整除或者除法运算结果百分位。
具体规律,难以摸清。
你们可以自己尝试与计算,最明确的规律就是nbins越大,轴标间隔越低/轴标越密。
三、tight用来描述啥的?
真不清楚。
我用下面的代码,把n从1改到30,左右两个图一直没变过。具体你们可以试试......
#!/usr/bin/python
# coding: utf-8
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 11)
n = 30
layout = [False, True]
nbins = np.repeat([n], repeats=2)
for i, (n, lay) in enumerate(zip(nbins, layout)):
plt.subplot(1, 2, 1 + i)
plt.plot(x, x)
ax = plt.gca()
plt.text(0.0, 1.05, f'ytight={lay},ynbins={n}', fontsize=15, transform=ax.transAxes)
plt.locator_params("y", tight=lay, nbins=n)
plt.locator_params("x", tight=False)
plt.show()