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

PythonのMatplotlibプロットでY軸をラジアン単位で表示する方法

PythonのMatplotlibでグラフを描く際、Y軸の目盛りをラジアン単位(π/2、π/4など)で表示したいケースはよくあります。例えば、arctan(逆正接)関数のような三角関数系のグラフでは、ラジアン表記の方が数学的に直感的に理解できます。

本記事では、set_yticks()set_yticklabels() を使って、Y軸の目盛り位置とラベルをラジアン表記にカスタマイズする手順を解説します。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • NumPyを使ってxデータとyデータを作成します。
  • figure() メソッドで新しい図を作成するか、既存の図をアクティブにします。
  • add_subplot() メソッドでサブプロットとして軸(ax)を図に追加します。
  • Y軸の目盛り位置(ticks)と目盛りラベル(ticklabels)を設定します。
  • show() メソッドで図を表示します。

コード例

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# xデータとyデータ(arctan関数)を作成
x = np.arange(-10.0, 10.0, 0.1)
y = np.arctan(x)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y)

# 目盛りの間隔(0.25πごと)
unit = 0.25

y_tick = np.arange(-0.5, 0.5 + unit, unit)
y_label = [r"$-\frac{\pi}{2}$", r"$-\frac{\pi}{4}$", r"$0$", r"$+\frac{\pi}{4}$", r"$+\frac{\pi}{2}$"]

# Y軸の目盛り位置をπの倍数に設定し、ラベルをラジアン表記にする
ax.set_yticks(y_tick * np.pi)
ax.set_yticklabels(y_label, fontsize=10)

plt.show()

コードのポイント

このコードの重要なポイントは以下の通りです。

  • y_tick * np.pi: 目盛り位置を実際の値(π/2 ≒ 1.57など)として設定します。arctan関数の出力範囲は −π/2 から +π/2 なので、この範囲内に目盛りを配置しています。
  • y_label: LaTeX形式(r"$\frac{\pi}{4}$" など)で記述することで、数式のように美しいラジアン表記を実現できます。
  • fontsize=10: ラベルのフォントサイズを指定し、見やすさを調整しています。

出力結果

上記のコードを実行すると、arctan関数のグラフが描画され、Y軸には「−π/2」「−π/4」「0」「+π/4」「+π/2」というラジアン表記の目盛りラベルが表示されます。

PythonのMatplotlibプロットでY軸をラジアン単位で表示する方法PythonのMatplotlibプロットでY軸をラジアン単位で表示する方法

まとめ

MatplotlibでY軸をラジアン単位で表示するには、set_yticks() で目盛りの数値位置(πの倍数)を指定し、set_yticklabels() で対応するLaTeX形式のラジアンラベルを割り当てるのが基本です。同様の手法はX軸にも応用できるため、sinやcosなどの三角関数グラフでも活用できます。

  1. PythonとMatplotlibで点群の中心座標を取得・可視化する方法

    一連のポイント(点群)の中心を求めるには、リスト内のすべての要素を合計し、その合計値をリストの要素数(長さ)で割ります。この計算結果が、対応する各軸における中心座標となります。これはいわゆる「平均値」であり、点群の重心を表します。実装の手順データポイントとして x 座標と y 座標の2つのリストを作成します。plot() メソッドを使って、x および y のデータポイントをプロットします。x と y の各リストから、sum() と len() を組み合わせて中心座標のタプルを算出します。算出した中心点をグラフ上にプロットします。annotate() メソッドを使い、中心点に「center」とい

  2. Pandasでプロットの外側に凡例を配置する方法

    Pandasで作成したグラフの凡例を、プロット領域の外側に配置したいケースはよくあります。本記事では、matplotlibのlegend()メソッドとbbox_to_anchor引数を使って、凡例を自由な位置に配置する方法を解説します。 実装の手順 Pandasでプロットの外側に凡例を配置するには、以下の手順を実行します。 「Column 1」と「Column 2」をキーとする辞書 d を作成します。 DataFrame(d) を使ってデータフレームを作成します。 スタイルのリストを指定して、データフレームをプロットします。 legend() メソッドを使って図に凡例を配置します。bbox_