Python Matplotlib で複数の線をプロットする

Suraj Joshi 2023年1月30日
  1. Python Matplotlib で単線をプロットする
  2. Python Matplotlib で複数の線をプロットする
Python Matplotlib で複数の線をプロットする

このチュートリアルでは、Matplotlib を使って複数の線をプロットし、図中の各線に異なる色を設定する方法を説明します。

Python Matplotlib で単線をプロットする

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y = 4 * x - 10

plt.plot(x, y)
plt.title("Plot line in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()

出力:

単一プロットのプロット Matplotlib

これは matplotlib.pyplot.plot() 関数を用いて線のプロットを作成します。線の X 座標と Y 座標を引数として plot() 関数に渡します。

Python Matplotlib で複数の線をプロットする

Matplotlib で複数の行をプロットするには、各行ごとに matplotlib.pyplot.plot() 関数を呼び出し、その行の座標をそれぞれの plot() 関数の引数として渡します。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.plot(x, y4)

plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()

出力:

Matplotlib での複数の線のプロット

これは、共通の軸を持つ 4つの異なる線を、それぞれ異なる色でプロットします。4つの異なる線をプロットするために、matplotlib.pyplot.plot.plot() 関数を 4 回呼び出します。毎回、異なる線の座標を引数として関数に渡します。

プロットをよりわかりやすくするために、どの線がどの色で表現されているかを推測するために凡例をプロットに追加することができます。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")

plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()

出力:

Matplotlib での複数の線のプロットと凡例

図の中に 4 本の線を凡例とともにプロットします。図に凡例を追加するには、関数 plot()label パラメータを設定して、線をプロットしながら各行にラベルを設定します。最後に、matplotlib.pyplot.legend() を呼び出して、図の凡例を追加します。

デフォルトでは、Matplotlib は自動的に線に色を割り当てます。各線の色を制御したい場合は、matplotlib.axis.Axes.set_prop_cycle() メソッドを用います。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

colors = ["orange", "purple", "green", "red"]

plt.gca().set_prop_cycle(color=colors)
plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")

plt.title("Plot Multiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()

出力:

Matplotlib で複数の線のプロットで色を制御する場合の凡例

1 行目にオレンジ、2 行目に紫、3 行目に緑、4 行目に赤を設定します。使用する色のリストを matplotlib.axis.Axes.set_prop_cycle() メソッドに引数として渡します。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Matplotlib Line