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

【Python】Matplotlibでcos曲線の中心に原点(Origin)を配置する方法

Matplotlibで作成したグラフでは、デフォルトで軸(枠線)が図の左端と下端に表示されます。しかし、数学の教科書のように原点(Origin)がグラフの中央に位置するcos曲線を描きたい場合もあります。そのようなときは、スパイン(spines)の設定を変更することで、軸を図の中央へ移動できます。

実装の手順

  • figureサイズを設定し、サブプロット間および周囲の余白(パディング)を調整する
  • numpyを使ってx座標とy座標のデータポイントを作成する
  • spinesのtop、left、right、bottomを操作して軸の位置を設定する
  • plot()メソッドでxとyのデータポイントをプロットする
  • グラフにタイトルを設定する
  • show()メソッドで図を表示する

コード例

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-5, 5, 100)
y = np.cos(x)

ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')

plt.plot(x, y)
plt.title("$\\bf{y=cos(x)}$")

plt.show()

コードのポイント解説

このコードの鍵となるのは、ax.spinesに対する4つの設定です。

  • set_color('none'):top(上)とright(右)の枠線を非表示にし、すっきりした見た目にします。
  • set_position('zero'):left(左)の軸をy=0の位置へ、bottom(下)の軸をx=0の位置へ移動させます。これにより、両軸が原点を通るようになります。

また、np.linspace(-5, 5, 100)によって-5から5までの範囲で100個の等間隔のx座標を生成し、それに対応するnp.cos(x)の値をy座標としています。plt.rcParams["figure.figsize"]で図のサイズを指定し、figure.autolayoutをTrueにすることでラベルやタイトルが図の外にはみ出さないよう自動調整されます。

出力結果

【Python】Matplotlibでcos曲線の中心に原点(Origin)を配置する方法

この手法は、三角関数だけでなく、sin関数や放物線など、原点を基準とした関数を可視化する際にも広く応用できます。ぜひ活用してみてください。

  1. Matplotlibで図のX軸にステップ(目盛り)を設定する方法

    PythonのMatplotlibで図のX軸にステップ(目盛り)を設定するには、set_xticks() および set_xticklabels() メソッドを使用します。以下の手順で実装できます。 手順 データポイントのリスト x を作成します。 subplot() メソッドを使って、現在の図にサブプロットを追加します。 set_xticks() でX軸の目盛りの位置を指定し、set_xticklabels() でラベルを設定します。このとき、引数に rotation=45 を指定すると、ラベルを45度回転させて表示できます。 図を表示するには、show() メソッドを使用します。 コー

  2. PythonのMatplotlibでワッフルチャートを作成する方法を解説

    ワッフルチャート(Waffle Chart)は、目標に対する進捗状況を視覚的に表現するのに適した、魅力的なデータ可視化手法です。四角いマスが並ぶ様子がワッフルに似ていることからこの名前が付けられており、構成比や達成率を直感的に伝えられます。Pythonでワッフルチャートを作成するには、pywaffleライブラリを使用します。新しい図を作成する際、または既存の図を有効化する際に、FigureClass=Waffleを指定することで簡単に描画できます。作成手順辞書を使ってPandasのデータフレームを作成します。plt.figure()で新しい図を作成する際に、FigureClass=Waffle