MatplotlibでX軸の値を整数として表示する方法
Matplotlibでは、X軸の目盛りを整数のみで表示したいケースがよくあります。そのような場合は、math.floor() と math.ceil() を組み合わせることで簡単に実現できます。以下に具体的な手順を示します。
X軸を整数表示にする手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- データポイントの2つのリスト x と y を作成します。
- plot() メソッドを使用して、x と y をプロットします。
- X軸の目盛りとして整数のみを含む新しいリストを作成します。math.floor() と math.ceil() を使って小数部分を切り捨て・切り上げることで、リストには整数だけが含まれるようになります。
- x 軸と y 軸のラベルを設定します。
- 図のタイトルを設定します。
- show() メソッドを使って図を表示します。
コード例
import math
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
y = [0.17, 1.17, 2.98, 3.15, 4.11, 5.151]
x = [1.0, 1.75, 2.90, 3.15, 4.50, 5.50]
plt.plot(x, y)
new_list = range(math.floor(min(x)), math.ceil(max(x))+1)
plt.xticks(new_list)
plt.xlabel("X-axis ")
plt.ylabel("Y-axis ")
plt.title("Only Integers on the X-axis")
plt.show()
実行結果

補足:MaxNLocatorを使ったより簡単な方法
上記の方法以外にも、matplotlib.ticker.MaxNLocator の integer=True オプションを使えば、より簡潔に整数の目盛りを実現できます。この方法では、目盛りの本数も自動的に調整されるため、データ範囲が変わっても柔軟に対応できるのがメリットです。
from matplotlib import pyplot as plt
from matplotlib.ticker import MaxNLocator
fig, ax = plt.subplots()
ax.plot([1.0, 1.75, 2.90, 3.15, 4.50, 5.50],
[0.17, 1.17, 2.98, 3.15, 4.11, 5.151])
# X軸の目盛りを常に整数にする
ax.xaxis.set_major_locator(MaxNLocator(integer=True))
plt.show()
-
Matplotlibで目盛りラベルをすべて表示する方法
Matplotlibでグラフ上のすべてのラベル値を表示したい場合は、set_xticklabels() メソッドと set_yticklabels() メソッドを使用します。この記事では、具体的な手順とコード例を使って、その方法をわかりやすく解説します。実装の手順軸の目盛りとして使用できる数値のリスト(x)を作成します。subplot() 関数を使用して軸オブジェクトを取得します。subplot() は現在の図にサブプロットを追加するための便利な関数です。set_xticks メソッドと set_yticks メソッドを使い、手順1で作成したリスト x を指定して、それぞれX軸とY軸の目盛り位
-
Python MatplotlibでY軸の値(目盛りラベル)を指定する方法
PythonのMatplotlibでは、yticks()メソッドを使うことで、Y軸に表示する値や目盛りラベルを自由に指定できます。X軸の場合はxticks()を使用します。この記事では、具体的な手順とサンプルコードを通して、軸の目盛りをカスタマイズする方法を解説します。 Y軸の値を指定する手順 以下の手順で、Matplotlibのグラフに任意の目盛りラベルを設定できます。 numpyを使ってxおよびyのデータポイントを作成します。 軸に表示したい値として、文字列のリストを作成します。 xticks()メソッドとyticks()メソッドを使用し、それぞれX軸・Y軸の目盛りの位置とラベルを指定し