Matplotlibで軸の値を変換(スケーリング)して目盛りの頻度を再定義する方法
Matplotlibで軸の値を変換またはスケーリングし、目盛りの表示頻度を再定義したい場合、xticks()メソッドを使ってxticks(目盛りの位置)とxtick_labels(目盛りラベル)のリストを作成するのが効果的です。この方法により、軸のスケールを自由に配置し、目盛りの間隔やラベルを柔軟にカスタマイズできます。
実装手順
図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
データポイントの数を表す変数 n を初期化します。
NumPyを使用してxおよびyのデータポイントを作成します。
plot()メソッドでxとyのデータポイントをプロットします。
目盛りの位置(ticks)と目盛りラベル(tick labels)のリストを作成します。
xticks()メソッドを使用して、軸のスケールを配置し、目盛りの頻度を再定義します。
図を表示するには、show()メソッドを使用します。
コード例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True n = 10 x = np.linspace(-2, 2, n) y = np.exp(x) plt.plot(x, y) xticks = [i for i in range(int(n/2))] xtick_labels = ["x"+str(i) for i in range(int(n/2))] plt.xticks(xticks, xtick_labels) plt.show()
実行結果

解説
このコードでは、まず np.linspace(-2, 2, n) によって -2 から 2 までの範囲に10個の等間隔データポイントを生成し、その指数関数値をy軸の値としてプロットしています。
次に、リスト内包表記を用いて [0, 1, 2, 3, 4] という目盛りの位置リストと、["x0", "x1", "x2", "x3", "x4"] という対応するラベルリストを作成しています。plt.xticks(xticks, xtick_labels) を呼び出すことで、元の数値軸がカスタムラベルに置き換わり、目盛りの頻度も5つに固定されます。
この手法は、単位の変換(例:ラジアンから度へ)、対数スケール上での特定位置へのラベル配置、カテゴリ名の表示など、さまざまな場面で応用できます。y軸に対して同様の操作を行いたい場合は、yticks()メソッドを同じ要領で使用してください。
-
MatplotlibでNaN値を含むデータをプロット・操作する方法を解説
MatplotlibでNaN値をプロット・操作する手順 Matplotlibでは、NaN(欠損値)を含むデータもそのまま可視化できます。基本的な流れは以下の3ステップです。 NumPyを使って、NaN値をいくつか含むデータ(配列)を作成します。 imshow()メソッドを使用し、カラーマップとステップ1で作成したデータを指定して、2次元の正規ラスタ上に画像として表示します。デフォルトでは、NaNの部分は自動的に空白(マスクされた領域)として描画されます。 作成した図を画面に表示するには、show()メソッドを呼び出します。 コード例 import numpy as np from matp
-
Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法
Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します