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

Matplotlibを使ってPythonで正弦波(サイン波)のグラフを描く方法

Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データを可視化することは、数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるため、データ分析において非常に重要なステップとなります。また、定量的な洞察を視覚的に伝えることで、聴衆への説明も格段に分かりやすくなります。

Matplotlibは主に2次元のプロット(グラフ)を作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーション内に簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyderなどの開発環境とも相性が良く、幅広い場面で活用されています。

Matplotlib自体はPythonで書かれており、数値計算ライブラリであるNumPyと密接に連携して動作するように設計されています。

Matplotlibのインストール

Windows環境では、以下のコマンドを実行するだけでMatplotlibをインストールできます。

pip install matplotlib

必要な依存パッケージ

Matplotlibを利用するには、以下のパッケージが必要です。

Python(バージョン3.4以上)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
FreeType
Six
Cycler
Dateutil

正弦波グラフを描くサンプルコード

それでは、Matplotlibを使って正弦関数(サイン波)を実際にプロットしてみましょう。

import matplotlib.pyplot as plt
import numpy as np

data = np.arange(0.0, 4.0, 0.1)
y = 2 + np.sin(2 * np.pi * data)

fig, ax = plt.subplots()
ax.plot(data, y)
ax.set(xlabel='x-axis data', ylabel='y-axis data', title='A simple plot')
ax.grid()
plt.show()

実行結果

このコードを実行すると、0から4までの範囲で振幅が上下に揺れる滑らかな正弦波のグラフが表示されます。グリッド線が表示され、X軸・Y軸のラベルとタイトルも付いた見やすいグラフになります。

コードの解説

  • パッケージのインポート: まず matplotlib.pyplotpltnumpynp という別名でインポートし、以降のコードを簡潔に書けるようにしています。

  • データの生成: NumPyの arange 関数を使い、0.0から4.0まで0.1刻みの等間隔な数値列(X軸の値)を作成します。

  • Y値の計算: np.sin(2 * np.pi * data) によって正弦波の値を計算し、さらに +2 することで波形全体を上方向にシフトしています。

  • 図と軸の作成: plt.subplots() を呼び出すことで、Figure(図全体)とAxes(プロット領域)が同時に生成され、変数 figax に代入されます。

  • プロットの描画: ax.plot(data, y) により、X軸のデータとY軸のデータを対応付けて折れ線グラフとして描画します。

  • ラベルとタイトルの設定: ax.set() 関数を使って、X軸・Y軸のラベルおよびグラフのタイトルを一度に指定しています。

  • グリッドの表示: ax.grid() を呼び出すことで、グラフに補助線(グリッド)を追加し、値を読み取りやすくしています。

  • グラフの表示: 最後に plt.show() を実行すると、作成したグラフが画面に表示されます。

このように、わずか十数行のコードで美しい正弦波グラフを描画できるのがMatplotlibの魅力です。np.sin の中の係数や加算する値を変更すれば、周波数や振幅、オフセットを自由に調整できるので、ぜひいろいろなパラメータを試してみてください。

  1. Seabornのfactorplotを使ってPythonでデータを可視化する方法

    Seabornは、データの可視化を支援するPythonライブラリです。カスタマイズされたテーマと高水準インターフェースを備えており、美しい統計グラフを少ないコード量で作成できるのが特徴です。 棒グラフ(barplot)と点グラフ(pointplot)の基本 barplot関数は、カテゴリ変数と連続変数の関係を表現します。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。 pointplotは棒グラフに似ていますが、塗りつぶしのバーの代わりに、データポイントの推定値がもう一方の軸上の特定の高さにある点として表現される点が異なります。 factorplot

  2. PythonのSeabornライブラリで棒グラフ(barplot)を使う方法をわかりやすく解説

    Seabornは、データの可視化を支援するPythonライブラリです。洗練されたカスタムテーマと高水準インターフェースを備えており、少ないコード量で美しい統計グラフを作成できるのが大きな特徴です。 棒グラフ(barplot)とは これまでの散布図などのプロットでは、データセット全体をグラフ上に描画していました。一方、棒グラフ(bar plot)を利用すると、データ分布の中心的な傾向(中央傾向)を直感的に把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するために使用します。データは長方形のバーとして描画され、バーの高さ(長さ)がそのカテゴリにおける値の大きさや割