本記事では、matplotlibの軸の目盛りに既存の目盛りをそのままに、任意の目盛りを追加する方法をご紹介します。
結論
x軸の場合、get_xticklabelsで現時点の目盛りを取得し、
set_xticksで特定の目盛りの値を追加することで実現可能です。
以下サンプルコードです。
こちらからGoogle Colaboratory上でもご確認頂けます。
まず、デフォルトのグラフを表示します。
import matplotlib.pyplot as plt
import numpy as np
# サンプルデータ
x = np.linspace(1, 500)
y = np.log10(x)
# プロット
fig, ax = plt.subplots()
ax.plot(x, y)
plt.draw()
plt.show()
特に目盛りの設定を変更していないデフォルトのグラフは以下の通りです。
上記の0, 100, 200, 300, 400, 500のx軸の目盛りを維持したまま、任意の目盛り250を追加していきます。
# 0, 100, 200, 300, 400, 500の目盛りを維持したまま、任意の目盛りを追加
fig, ax = plt.subplots()
ax.plot(x, y)
# 現時点の目盛り取得
current_xt = []
for xt in ax.get_xticklabels():
current_xt.append( int(xt.get_text().replace('−', '-')) )
print(current_xt)
# 表示されていない両端除去
current_xt.pop(0)
current_xt.pop(-1)
# 指定の目盛りを追加
add_xt = 250
current_xt.append(add_xt)
# 目盛りに追加
ax.set_xticks(current_xt)
# 表示
plt.show()
出力結果は以下の通りです。
まとめ
本記事では、現在の目盛りを維持したまま、任意の目盛りを追加する方法をご紹介しました。
0 件のコメント :
コメントを投稿