Python
 Computer >> コンピューター >  >> プログラミング >> Python

MatplotlibでX軸の値を整数として表示する方法

Matplotlibでは、X軸の目盛りを整数のみで表示したいケースがよくあります。そのような場合は、math.floor()math.ceil() を組み合わせることで簡単に実現できます。以下に具体的な手順を示します。

X軸を整数表示にする手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • データポイントの2つのリスト xy を作成します。
  • plot() メソッドを使用して、xy をプロットします。
  • 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()

実行結果

MatplotlibでX軸の値を整数として表示する方法

補足:MaxNLocatorを使ったより簡単な方法

上記の方法以外にも、matplotlib.ticker.MaxNLocatorinteger=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()

  1. Matplotlibで目盛りラベルをすべて表示する方法

    Matplotlibでグラフ上のすべてのラベル値を表示したい場合は、set_xticklabels() メソッドと set_yticklabels() メソッドを使用します。この記事では、具体的な手順とコード例を使って、その方法をわかりやすく解説します。実装の手順軸の目盛りとして使用できる数値のリスト(x)を作成します。subplot() 関数を使用して軸オブジェクトを取得します。subplot() は現在の図にサブプロットを追加するための便利な関数です。set_xticks メソッドと set_yticks メソッドを使い、手順1で作成したリスト x を指定して、それぞれX軸とY軸の目盛り位

  2. Python MatplotlibでY軸の値(目盛りラベル)を指定する方法

    PythonのMatplotlibでは、yticks()メソッドを使うことで、Y軸に表示する値や目盛りラベルを自由に指定できます。X軸の場合はxticks()を使用します。この記事では、具体的な手順とサンプルコードを通して、軸の目盛りをカスタマイズする方法を解説します。 Y軸の値を指定する手順 以下の手順で、Matplotlibのグラフに任意の目盛りラベルを設定できます。 numpyを使ってxおよびyのデータポイントを作成します。 軸に表示したい値として、文字列のリストを作成します。 xticks()メソッドとyticks()メソッドを使用し、それぞれX軸・Y軸の目盛りの位置とラベルを指定し