如何:减lessmatplotlib的滴答数量

我的图表上有太多的嘀嗒声,它们互相碰撞。 我怎样才能减less蜱的数量? 例如,我有蜱虫:

1E-6, 1E-5, 1E-4, ... 1E6, 1E7 

我只想要:

 1E-5, 1E-3, ... 1E5, 1E7 

我试过玩LogLocator,但是我一直没有弄明白。 build议?

谢谢!

另外,如果你想简单地设置ticks的数量,同时允许matplotlib来定位它们(​​目前只有MaxNLocator ),那么就有pyplot.locator_params

 pyplot.locator_params(nticks=4) 

你可以在这个方法中指定特定的轴,如下所述,默认是:

 # To specify the number of ticks on both or any single axes pyplot.locator_params(axis='y', nticks=6) pyplot.locator_params(axis='x', nticks=10) 

轴对象有一个set_ticks()函数。

当使用日志刻度时,可以使用以下命令修复主要刻度的数量

 import matplotlib.pyplot as plt .... plt.locator_params(numticks=12) plt.show() 

设置为numticks的值确定要显示的轴刻度的数量。

致信@ bgamari的post介绍了locator_params()函数,但是当使用日志比例时, nticks参数会引发错误。