Matplotlib で複数の軸を作成する

Salman Mehmood 2024年2月15日
Matplotlib で複数の軸を作成する

この Matplotlib のチュートリアルでは、Axes インスタンスについて簡単に紹介し、Matplotlib の add_axes() メソッドを使用して複数の Axes インスタンスを Figure に追加する方法を確認します。

Matplotlib で add_axes() メソッドを使用して複数の軸を作成する

Matplotlib に軸または複数の軸インスタンスを追加するには、add_axes() メソッドを使用します。 軸を追加するときに、それらを Figure 内の領域に割り当てる必要があります。

add_axes() メソッドで左下隅の座標とサイズ、および座標を指定します。 範囲は 0 から 1 である必要があり、幅と高さを絶対ではなく比例的に指定します。

必要なすべてのモジュールをインポートすることから始めましょう。

import matplotlib.pyplot as plot
import numpy as np
import matplotlib as mpl

フィギュアを作成します。figsize は 8 x 6 インチです。 facecolor 引数を使用して背景色を黄色に設定します。

figure = plot.figure(figsize=(8, 6), facecolor="yellow")

add_axes() メソッドを使用して 3 軸インスタンスを追加します。 このメソッドは、向きを定義するタプルを受け入れます。

最初のパラメータは座標 x、2 番目は y 座標、3 番目は width、4 番目は height です。 また、facecolor'cyan' に設定します。

axes1 = figure.add_axes((0.1, 0.1, 0.5, 0.4), facecolor="cyan")
axes2 = figure.add_axes((0.3, 0.6, 0.3, 0.3), facecolor="cyan")
axes3 = figure.add_axes((0.7, 0.1, 0.2, 0.8), facecolor="cyan")

xy の値を定義します。 numpy ライブラリのいくつかの関数を使用します。

x1 = np.linspace(0.10, 10, 100)
y1 = 10 * np.sin(x1)

次に、軸の 3つのインスタンスのプロットを表示します。 パラメータ x1y1 および color"navy" として。

axes1.plot(x1, y1, color="navy")
axes2.plot(x1, y1, color="navy")
axes3.plot(x1, y1, color="navy")

完全なソース コード:

import matplotlib.pyplot as plot
import numpy as np
import matplotlib as mpl

figure = plot.figure(figsize=(8, 6), facecolor="yellow")

axes1 = figure.add_axes((0.1, 0.1, 0.5, 0.4), facecolor="cyan")
axes2 = figure.add_axes((0.3, 0.6, 0.3, 0.3), facecolor="cyan")
axes3 = figure.add_axes((0.7, 0.1, 0.2, 0.8), facecolor="cyan")

x1 = np.linspace(0.10, 10, 100)
y1 = 10 * np.sin(x1)

axes1.plot(x1, y1, color="navy")
axes2.plot(x1, y1, color="navy")
axes3.plot(x1, y1, color="navy")
plot.show()

3 軸インスタンスを持つ図を取得します。 この図では、対応する軸を持つすべての座標点を表示できます。

出力:

Matplotlib の add_axes() メソッドで複数の軸を作成

著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

関連記事 - Matplotlib Axes