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")
x
と y
の値を定義します。 numpy
ライブラリのいくつかの関数を使用します。
x1 = np.linspace(0.10, 10, 100)
y1 = 10 * np.sin(x1)
次に、軸の 3つのインスタンスのプロットを表示します。 パラメータ x1
、y1
および 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 軸インスタンスを持つ図を取得します。 この図では、対応する軸を持つすべての座標点を表示できます。
出力:
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