我正在寻找一种方法来在两个级别上交替使用x轴刻度标签。我的标签现在是:
A B C D
我想要的是:
A C
B D
但是我在谷歌/文档/SO上似乎找不到如何做到这一点的方法。
非常感谢!
我正在寻找一种方法来在两个级别上交替使用x轴刻度标签。我的标签现在是:
A B C D
我想要的是:
A C
B D
您可以使用次刻度(通过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
。您需要根据自己的数据和窗口大小调整这些刻度位置。
(灵感来源于这里。)