ゼファーネットのロゴ

Python の Matplotlib.pyplot.subplots(): 総合ガイド

日付:

概要

Matplotlib.pyplot.subplots() は、 Python これにより、ユーザーは 1 つの Figure 内にサブプロットのグリッドを作成できます。この関数は Matplotlib ライブラリの一部であり、以下の目的で広く使用されています。 データの可視化 Pythonで。 subplots() を使用すると、単一の Figure 内に複数のプロットを簡単に作成できるため、さまざまなデータセットや変数の比較と分析が容易になります。

Python の Matplotlib.pyplot.subplots(): 総合ガイド

目次

Matplotlib.pyplot.subplots() を使用する利点

Matplotlib.pyplot.subplots() を使用すると、データ視覚化タスクにいくつかの利点が得られます。まず、複数のプロットを 1 つの Figure に整理して表示する便利な方法が提供されます。これは、データセットのさまざまな側面を比較する場合、またはさまざまな視覚化を表示する場合に特に役立ちます。

さらに、subplots() を使用すると、ユーザーはサブプロットのレイアウトと配置をカスタマイズできます。ユーザーは、サブプロット グリッド内の行と列の数、および各サブプロット間のサイズと間隔を指定できます。この柔軟性により、ユーザーは視覚的に魅力的で有益なプロットを作成できます。

また読む: 初心者のための Python を使用した Matplotlib の概要

サブプロット グリッドを理解する

サブプロット グリッドは、Matplotlib.pyplot.subplots() を使用して作成された Figure 内のサブプロットの配置です。行と列で構成されており、 各セルはサブプロットを表します。ユーザーは行数と列数を指定できます。 希望のレイアウトで。

サブプロットには、行列内の要素にアクセスするのと同様に、インデックスを使用してアクセスします。たとえば、最初の行と 0 番目の列のサブプロットにアクセスするには、インデックスは [1, XNUMX] になります。これにより、ユーザーはグリッド内の個々のサブプロットを迅速に変更およびカスタマイズできます。

サブプロット グリッドは、Figure オブジェクトと Axes オブジェクトの配列を返す subplots() 関数を使用して作成できます。 Figure オブジェクトは Figure 全体を表し、Axes オブジェクトは各サブプロットを表します。これらの Axes オブジェクトを使用して、タイトル、ラベル、データなどの各サブプロットのプロパティを変更できます。

基本的なサブプロット グリッドの作成

この このセクションでは、Python の `matplotlib.pyplot.subplots()` 関数を使用して基本的なサブプロット グリッドを作成する方法を説明します。この関数を使用すると、単一の Figure 内にサブプロットのグリッドを作成できるため、複数のプロットを同時に視覚化することが容易になります。.

構文とパラメーター

サブプロット グリッドを作成するための構文は次のとおりです。

コード:

fig, axes = plt.subplots(nrows, ncols)

ここで、`nrows` と `ncols` はサブプロット グリッドの行数と列数を表します。。この関数は 2 つのオブジェクトを返します。 fig, これは図全体を意味し、 axes, これは、各サブプロットを表す Axes オブジェクトの配列です。

例: 2×2 サブプロット グリッドの作成

2×2 サブプロット グリッドの作成方法を理解するための例を考えてみましょう。まず、必要なライブラリをインポートする必要があります。

コード:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0, 2*np.pi, 100)

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.tan(x)

y4 = np.exp(x)

fig, axes = plt.subplots(2, 2)

axes[0, 0].plot(x, y1)

axes[0, 0].set_title('Sin(x)')

axes[0, 1].plot(x, y2)

axes[0, 1].set_title('Cos(x)')

axes[1, 0].plot(x, y3)

axes[1, 0].set_title('Tan(x)')

axes[1, 1].plot(x, y4)

axes[1, 1].set_title('Exp(x)')

plt.tight_layout()

plt.show()

出力:

基本的なサブプロット グリッドの作成 | Python の Matplotlib.pyplot.subplots()

この例では、`subplots()` 関数を使用して 2×2 のサブプロット グリッドを作成します。次に、「axes」配列のインデックスを使用して各サブプロットにアクセスし、それに応じてデータをプロットします。最後に、`tight_layout()` を使用してサブプロット間の間隔を調整し、`show()` を使用して図を表示します。

`matplotlib.pyplot.subplots()` 関数を使用すると、Python でサブプロット グリッドを簡単に作成およびカスタマイズできます。これにより、複数のプロットを 1 つの図で視覚化できるため、データ分析とプレゼンテーションが便利になります。

サブプロット間隔の調整

Matplotlib の `subplots()` 関数を使用してサブプロットを作成するときに、それらの間の間隔を調整できます。これは、プロットのレイアウトをカスタマイズする場合、または複数のサブプロットがあり、サブプロット間の間隔を最適化したい場合に便利です。

「wspace」パラメータと「hspace」パラメータの使用:

サブプロット間の間隔を調整するには、`subplots()` 関数の `wspace` および `hspace` パラメーターを使用します。これらのパラメータは、サブプロット間の幅と高さの間隔をそれぞれ制御します。

「wspace」パラメータはサブプロット間の水平方向の間隔を制御し、「hspace」パラメータは垂直方向の間隔を制御します。これらのパラメータを調整すると、サブプロット間に多少のスペースを作成できます。

たとえば、「wspace」パラメータと「hspace」パラメータをより高い値に設定して、サブプロット間の間隔を広げることができます。一方、間隔を狭くしたい場合は、これらのパラメータをより低い値に設定できます。

例: サブプロット間隔の調整

サブプロットの間隔を調整する方法を示す例を考えてみましょう。 2 つのサブプロットが垂直に配置された図があるとします。これらのサブプロット間の間隔を広げたいと考えています。

これを実現するには、「wspace」パラメータを 0.2 に、「hspace」パラメータを 0.5 に設定します。これにより、水平方向と垂直方向の両方でサブプロット間により多くのスペースが作成されます。

コード:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 1, figsize=(6, 6))

fig.subplots_adjust(wspace=1, hspace=5)

# Plotting code for the subplots

plt.show()

出力:

基本的なサブプロット グリッドの作成 | Python の Matplotlib.pyplot.subplots()

上の例では、まず `subplots()` 関数を使用して 2 つのサブプロットを持つ Figure を作成します。次に、`subplots_adjust()` 関数を使用して、`wspace` および `hspace` パラメータを設定することでサブプロット間の間隔を調整します。

サブプロットの間隔をカスタマイズすることで、希望のレイアウトとサブプロット間の間隔を備えた視覚的に魅力的なプロットを作成できます。

サブプロットのタイトルと軸ラベルの設定

このセクションでは、サブプロットと軸ラベルにタイトルを追加して、プロットの視覚的表現を強化する方法を検討します。

サブプロットへのタイトルの追加

We `set_title()` 関数を使用してサブプロットにタイトルを追加できます。この関数を使用すると、各サブプロットのタイトルを指定できます。説明的なタイトルを付けることで、プロットにコンテキストと明確さを提供できます。.

たとえば、2 つの変数の分布を表す 2 つのサブプロットを持つ図があるとします。次のコードを使用して、これらのサブプロットにタイトルを追加できます。

コード:

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.set_title("Distribution of Variable A")

ax2.set_title("Distribution of Variable B")

`set_title()` 関数を使用すると、サブプロットのタイトルを簡単にカスタマイズして、提示したい情報を伝えることができます。

サブプロットへの軸ラベルの追加

軸ラベルは、プロットの x 軸と y 軸で表される変数に関する情報を提供するために不可欠です。軸ラベルをサブプロットに追加するには、`set_xlabel()` 関数と `set_ylabel()` 関数を使用できます。

たとえば、2 つの変数間の関係を表す 2 つのサブプロットを持つ図を考えてみましょう。次のコードを使用して、これらのサブプロットに軸ラベルを追加できます。

コード:

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.set_xlabel("Variable A")

ax1.set_ylabel("Variable B")

ax2.set_xlabel("Variable C")

ax2.set_ylabel("Variable D")

`set_xlabel()` 関数と `set_ylabel()` 関数を使用すると、各サブプロットの x 軸と y 軸に明確なラベルを付けることができ、閲覧者がデータを解釈しやすくなります。

例: サブプロットのタイトルと軸ラベルの設定

サブプロットのタイトルと軸ラベルを設定するプロセスを説明するために、データセットのさまざまな側面を表す 3 つのサブプロットを含む図がある例を考えてみましょう。

コード:

import matplotlib.pyplot as plt

import numpy as np

# Generating sample data

x = np.arange(1, 6)

y1 = np.random.randint(1, 10, size=5)

y2 = np.random.randint(1, 10, size=5)

y3 = np.random.randint(1, 10, size=5)

fig, (ax1, ax2, ax3) = plt.subplots(1, 3)

ax1.plot(x, y1)

ax1.set_title("Plot 1")

ax1.set_xlabel("X-axis")

ax1.set_ylabel("Y-axis")

ax2.scatter(x, y2)

ax2.set_title("Plot 2")

ax2.set_xlabel("X-axis")

ax2.set_ylabel("Y-axis")

ax3.bar(x, y3)

ax3.set_title("Plot 3")

ax3.set_xlabel("X-axis")

ax3.set_ylabel("Y-axis")

# Plotting code for the subplots

plt.show()

出力:

サブプロットのタイトルと軸ラベルの設定 | Python の Matplotlib.pyplot.subplots()

この例では、それぞれが異なるタイプのプロットを表す 3 つのサブプロットを持つ Figure を作成します。 set_title () を使用して各サブプロットのタイトルを設定し、set_xlabel () と set_ylabel () を使用して軸ラベルを提供します。 これにより、各サブプロットに明確なラベルを付けて説明できるようになり、表示されたデータを視聴者が理解しやすくなります。.

これらの手順に従うことで、サブプロットのタイトルと軸ラベルを効果的に設定して、プロットの視覚的表現を強化できます。

サブプロットのサイズとアスペクト比の制御

Matplotlib の `subplots()` 関数を使用してサブプロットを作成すると、次のようになります。 サブプロットのアスペクト比。これにより、ニーズに最適なようにプロットのレイアウトをカスタマイズできます。.

figsizeパラメータに合わせて

サブプロットのサイズを制御する 1 つの方法は、`figsize` パラメーターを使用することです。このパラメータは、Figure の幅と高さをインチ単位で表す 2 つの値のタプルを受け取ります。これらの値を調整することで、サブプロット全体のサイズを変更できます。

たとえば、幅 8 インチ、高さ 6 インチのサブプロットを含む Figure を作成する場合は、`figsize` パラメーターを `(8, 6)` に設定します。

import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2, figsize=(8, 6))

これにより、2 行 8 列のグリッドを持つ Figure が作成されます。各サブプロットのサイズは 6 インチ x XNUMX インチです。

例: サブプロットのサイズとアスペクト比の制御

サブプロットのサイズとアスペクト比を制御する方法をさらに説明する例を考えてみましょう。 2 つのサブプロットを持つ Figure を作成するとします。最初のサブプロットの幅は 2 番目のサブプロットの 2 倍です。

コード:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(1, 2, figsize=(10, 5))

axs[0].plot([1, 2, 3, 4], [1, 4, 9, 16])

axs[0].set_title('Subplot 1')

axs[1].plot([1, 2, 3, 4], [1, 8, 27, 64])

axs[1].set_title('Subplot 2')

plt.show()

出力:

サブプロット サイズとアスペクト比の制御 | Python の Matplotlib.pyplot.subplots()

この例では、1 行 2 列のグリッドを持つ Figure を作成します。 `figsize` パラメータを `(10, 5)` に設定します。これは、Figure の幅が 10 インチ、高さが 5 インチになることを意味します。

最初のサブプロットは、X 軸にデータ `[1, 2, 3, 4]` を、Y 軸にデータ `[1, 4, 9, 16]` を使用してプロットされます。 1 番目のサブプロットは、X 軸にデータ `[2, 3, 4, 1]`、Y 軸にデータ `[8, 27, 64, XNUMX]` を使用してプロットされます。

調整 `figsize` パラメータを使用すると、サブプロット全体のサイズを制御できます。 ニーズに最適なカスタム レイアウトを作成できます。

まとめ

Python の Matplotlib.pyplot.subplots() に関するこの記事では、Matplotlib のサブプロットのサイズとアスペクト比を制御する方法を学びました。使用する `figsize` パラメータを使用すると、サブプロット全体のサイズを調整できます。これにより、要件に最適なカスタム レイアウトを作成できるようになります。 `figsize` パラメータのさまざまな値を試して、プロットの目的のサブプロット サイズとアスペクト比を実現します。.

スポット画像

最新のインテリジェンス

スポット画像