我正在寻找一种方法来跨越两个级别来交替我的x轴刻度标签。我的标签现在是:
A B C D
我想要的是
A C
B D
但我似乎无法在google / docs / SO上找到。
非常感谢!
答案 0 :(得分:3)
您可以使用次要刻度(通过set_minor_locator
和set_minor_formatter
定义)。然后你可以转移,例如使用tick_params
的所有主要滴答:
import pylab as pl
from matplotlib.ticker import FixedLocator, FormatStrFormatter
pl.plot(range(100))
pl.axes().xaxis.set_major_locator(FixedLocator(range(0, 100, 10)))
pl.axes().xaxis.set_minor_locator(FixedLocator(range(5, 100, 10)))
pl.axes().xaxis.set_minor_formatter(FormatStrFormatter("%d"))
pl.axes().tick_params(which='major', pad=20, axis='x')
但请注意FixedLocator
:为避免产生两次主要蜱(一次为主要,一次为次蜱),我选择了固定的刻度位置,而不是使用MultipleLocator
。您需要根据数据和窗口大小调整这些刻度位置。
(来自here的想法。)