import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
x = [0, 1, 2, 3, 4, 5]
y = [v**2 for v in x]
fig, ax = plt.subplots()
ax.plot(x, y, marker='o')
# X軸を0.5刻みで表示
ax.xaxis.set_major_locator(MultipleLocator(0.5))
# Y軸を1.0刻みで表示
ax.yaxis.set_major_locator(MultipleLocator(1.0))
plt.show()
実行結果:
固定値だけ表示したい場合:FixedLocator
特定の値のみに目盛を振りたい時はFixedLocatorが有効です。
from matplotlib.ticker import FixedLocator
fig, ax = plt.subplots()
ax.plot(x, y, marker='o')
# X軸の目盛を特定位置に固定
ax.xaxis.set_major_locator(FixedLocator([0, 2, 3.5, 5]))
plt.show()
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime, timedelta
dates = [datetime(2021,1,1) + timedelta(days=i) for i in range(10)]
values = [i for i in range(10)]
fig, ax = plt.subplots()
ax.plot(dates, values, marker='o')
# 日付軸に自動で適切な間隔を設定
ax.xaxis.set_major_locator(mdates.AutoDateLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.gcf().autofmt_xdate() # 日付表示を回転調整
plt.show()