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

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()

実行結果

Matplotlibで軸の値を変換(スケーリング)して目盛りの頻度を再定義する方法

解説

このコードでは、まず 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()メソッドを同じ要領で使用してください。

  1. MatplotlibでNaN値を含むデータをプロット・操作する方法を解説

    MatplotlibでNaN値をプロット・操作する手順 Matplotlibでは、NaN(欠損値)を含むデータもそのまま可視化できます。基本的な流れは以下の3ステップです。 NumPyを使って、NaN値をいくつか含むデータ(配列)を作成します。 imshow()メソッドを使用し、カラーマップとステップ1で作成したデータを指定して、2次元の正規ラスタ上に画像として表示します。デフォルトでは、NaNの部分は自動的に空白(マスクされた領域)として描画されます。 作成した図を画面に表示するには、show()メソッドを呼び出します。 コード例 import numpy as np from matp

  2. Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法

    Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します