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.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()
出力:
これは、共通の軸を持つ 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()
出力:
図の中に 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()
出力:
1 行目にオレンジ、2 行目に紫、3 行目に緑、4 行目に赤を設定します。使用する色のリストを matplotlib.axis.Axes.set_prop_cycle()
メソッドに引数として渡します。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn