線形回帰
X/Y データ点の集合に直線を当てはめます。
ScottPlot.Plot myPlot = new();
double[] xs = new double[] { 1, 2, 3, 4, 5, 6, 7 };
double[] ys = new double[] { 2, 2, 3, 3, 3.8, 4.2, 4 };
// 元のデータを散布図としてプロットする
var sp = myPlot.Add.Scatter(xs, ys);
sp.LineWidth = 0;
sp.MarkerSize = 10;
// 回帰直線を計算する
ScottPlot.Statistics.LinearRegression reg = new(xs, ys);
// 回帰直線をプロットする
Coordinates pt1 = new(xs.First(), reg.GetValue(xs.First()));
Coordinates pt2 = new(xs.Last(), reg.GetValue(xs.Last()));
var line = myPlot.Add.Line(pt1, pt2);
line.MarkerSize = 0;
line.LineWidth = 2;
line.LinePattern = LinePattern.Dashed;
// プロットの上部に数式を表示する
myPlot.Title(reg.FormulaWithRSquared);
myPlot.SavePng("demo.png", 400, 300);
このレシピは、回帰カテゴリに含まれる多数のレシピの 1 つです
