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

Matplotlibで複数のサブプロットを1つの図に組み合わせる方法

複数のmatplotlibの軸(axes)サブプロットを1つの図にまとめたい場合、subplots()メソッドを使うのが最も簡単な方法です。このメソッドは図(Figure)と複数のAxesオブジェクトを同時に生成できるため、コードがすっきりし、レイアウト管理も容易になります。

実装手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • numpyを使用して xy1y2 のデータポイントを作成します。
  • plt.subplots(nrows=2) を呼び出して、図と一連のサブプロット(2行分のAxes)を作成します。
  • plot() メソッドを使って、x・y1・y2 のデータポイントをそれぞれのAxesにプロットします。
  • 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(-10, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 2行のサブプロットを持つ図を作成
fig, axes = plt.subplots(nrows=2)

# 各Axesにデータをプロット
line1, = axes[0].plot(x, y1, color='red')
line2, = axes[1].plot(x, y2, color='green')

plt.show()

解説

上記のコードでは、nrows=2 を指定することで、縦に2つ並んだサブプロット領域を持つ1つの図が作成されます。戻り値の axes はnumpy配列として返されるため、axes[0]axes[1] のようにインデックスで各サブプロットにアクセスできます。ここでは、上段に赤色の正弦波(sin)、下段に緑色の余弦波(cos)を描画しています。

また、plt.rcParams["figure.autolayout"] = True を設定しておくことで、ラベルやタイトルが図の外にはみ出さないよう、余白が自動的に調整されます。さらに各サブプロットにタイトルや軸ラベルを追加したい場合は、axes[0].set_title("...")axes[0].set_xlabel("...") といったメソッドを利用すると便利です。

出力結果

Matplotlibで複数のサブプロットを1つの図に組み合わせる方法

  1. Windowsで複数のPDFファイルを1つに結合する方法|無料ツールを使った簡単手順

    2つ以上のPDFファイルを1つにまとめたいと思っていませんか?共通のテーマを持つ複数のPDFファイルがあるなら、それらを1つのファイルに結合しておくと、管理や共有が格段に楽になります。 この記事では、Windows環境で複数のPDFファイルを結合する具体的な手順を、わかりやすくステップごとに解説していきます。 Adobeの無料オンラインツールでPDFを結合する方法 PDFファイルの結合は、実はとてもシンプルな作業です。Adobeが提供している無料ツールを使えば、誰でも簡単に完了できます。以下の手順に従ってみましょう。 まず、Adobe公式サイトの無料オンラインPDF結合ツールにアクセスします。

  2. スキャンした書類を1つのPDFに結合する方法を徹底解説

    大切な書類をスキャンしてデータとして保管しておけば、原本が破損したり紛失したりしても安心です。ご存じでしょうか?実は、スキャンした複数の書類を1つ(または複数)のPDFファイルにまとめることができるのです。PDFはほぼすべてのデバイスでサポートされているため、結合したファイルはどの端末でも問題なく開けます。さらに、PDFは余白や向きが崩れないため、元のスキャン画像と同じ見た目のまま表示されるのも大きなメリットです。 スキャンした書類を1つのPDFに結合するには、まずスキャンデータがPDF形式になっている必要があります。画像形式で保存している場合は、先にすべての画像をPDFへ変換しておきましょう