値のリストから目盛りラベルを設定する#

を使用Axes.set_xticksすると、現在選択されている目盛りに目盛りラベルが設定されます。ただし、matplotlib が目盛りの数と間隔を動的に選択できるようにすることもできます。

この場合、目盛りの値から目盛りラベルを決定する方がよい場合があります。次の例は、これを行う方法を示しています。

注意: ここticker.MaxNLocatorでは を使用して、ティック値が整数値になるようにしています。

import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator


fig, ax = plt.subplots()
xs = range(26)
ys = range(26)
labels = list('abcdefghijklmnopqrstuvwxyz')


def format_fn(tick_val, tick_pos):
    if int(tick_val) in xs:
        return labels[int(tick_val)]
    else:
        return ''


# A FuncFormatter is created automatically.
ax.xaxis.set_major_formatter(format_fn)
ax.xaxis.set_major_locator(MaxNLocator(integer=True))
ax.plot(xs, ys)
plt.show()
値からの目盛りラベル

参考文献

この例では、次の関数、メソッド、クラス、およびモジュールの使用が示されています。

Sphinx-Gallery によって生成されたギャラリー