Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

塗りつぶしエラー

エラー範囲を網掛けした折れ線プロットは、ScatterLine の下に FillY を重ねることで実現できます。

FillY.cs
ScottPlot.Plot myPlot = new();

// サンプルの Y 値を作成する
double[] xs = Generate.Range(0, Math.PI, 0.05);
double[] ys = xs.Select(x => Math.Sin(x) + Generate.RandomNumber(0.1)).ToArray();

// サンプルのエラーデータを作成する
double[] yErr = ys.Select(x => x * Generate.RandomNumber(0.5) + 0.05).ToArray();

// Y ± エラーを計算する
double[] yErrNeg = Enumerable.Range(0, ys.Length).Select(x => ys[x] - yErr[x]).ToArray();
double[] yErrPos = Enumerable.Range(0, ys.Length).Select(x => ys[x] + yErr[x]).ToArray();

// エラー範囲の間に網掛け領域を追加する
var errFill = myPlot.Add.FillY(xs, yErrNeg, yErrPos);
errFill.LineWidth = 0;
errFill.FillColor = Colors.Blue.WithAlpha(0.2);
errFill.LegendText = "エラー";

// Y 値を折れ線プロットとして追加する
var meanLine = myPlot.Add.ScatterLine(xs, ys);
meanLine.LineColor = Colors.Blue;
meanLine.LineWidth = 2;
meanLine.LegendText = "平均";

// 凡例の位置を設定する
myPlot.Legend.Alignment = Alignment.UpperRight;

myPlot.SavePng("demo.png", 400, 300);
このレシピは、FillY プロットカテゴリに含まれる多数のレシピの 1 つです