Matplotlib に近似曲線を追加する方法 (例付き)
次の基本構文を使用して、Matplotlib のプロットに傾向線を追加できます。
#create scatterplot plt. scatter (x,y) #calculate equation for trendline z = np. polyfit (x, y, 1) p = np. poly1d (z) #add trendline to plot plt. plot (x, p(x))
次の例は、この構文を実際に使用する方法を示しています。
例 1: Matplotlib で線形近似曲線を作成する
次のコードは、Matplotlib で散布図の基本的な近似曲線を作成する方法を示しています。
import numpy as np import matplotlib. pyplot as plt #define data x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40]) y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37]) #create scatterplot plt. scatter (x,y) #calculate equation for trendline z = np. polyfit (x, y, 1 ) p = np. poly1d (z) #add trendline to plot plt. plot (x, p(x))
青い点はデータ ポイントを表し、青い直線は線形傾向線を表します。
color 、 linewidth 、 linestyle引数を使用して近似曲線の外観を変更することもできることに注意してください。
#add custom trendline to plot
plt. plot (x, p(x), color=" purple ", linewidth= 3 , linestyle=" -- ")
例 2: Matplotlib で多項式近似曲線を作成する
多項式傾向線を作成するには、 np.polyfit()関数の値を変更するだけです。
たとえば、値2を使用して二次傾向線を作成できます。
import numpy as np import matplotlib. pyplot as plt #define data x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40]) y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37]) #create scatterplot plt. scatter (x,y) #calculate equation for quadratic trendline z = np. polyfit (x,y, 2 ) p = np. poly1d (z) #add trendline to plot plt. plot (x, p(x))
傾向線が直線ではなく曲線になっていることに注意してください。
この多項式傾向線は、データに非線形パターンがあり、直線ではデータの傾向を適切に捉えることができない場合に特に役立ちます。
追加リソース
次のチュートリアルでは、Matplotlib で他の一般的な関数を実行する方法を説明します。
Matplotlib で軸を非表示にする方法
Matplotlib でチェックマーク ラベルを回転する方法
Matplotlib でティック数を変更する方法