1. ホーム
  2. matplotlib

対数目盛りを設定する

2023-10-04 20:33:10

質問

どうやら set_xticks がログスケールで動作していないようです。

from matplotlib import pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 200, 500])
plt.show()

は可能でしょうか?

どのように解決するのですか?

import matplotlib
from matplotlib import pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 200, 500])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())

または

ax1.get_xaxis().get_major_formatter().labelOnlyBase = False
plt.show()