Oxyplotで特定の積分の面積を描くことは可能ですか?
ライブラリを使用すると、MathNet.Numerics
これらの積分を計算できますが、プロットに描画できるかどうか疑問に思っていますか?
Oxyplotで特定の積分の面積を描くことは可能ですか?
ライブラリを使用すると、MathNet.Numerics
これらの積分を計算できますが、プロットに描画できるかどうか疑問に思っていますか?
私はこの問題の専門家ではありませんが、役に立つ情報を見つけたかもしれません... をご覧くださいAreaSeries
。これが必要だと思います。
例:
var model = new PlotModel { Title = "AreaSeries" };
var series = new AreaSeries { Title = "integral" };
for (double x = -10; x <= 10; x++)
{
series.Points.Add(new DataPoint(x, (-1 * (x * x) + 50)));
}
model.Series.Add(series);
次に、モデルを自分のものに設定するPlotView.Model
と、上記のコメントに投稿したものと同様のプロットが表示されるはずです。
これがうまくいくことを願っています。
----- 編集 (回答にコメントがあるため) -----
コメントで尋ねたことを実際に実行できることがわかりました。AreaSeries.Points2
エリアを制限したいポイントを入力するだけです。たとえば、前のサンプルではfor
、次の行の中に追加します
series.Points2.Add(new DataPoint(x, x));
y = -x^2 + 50
次に、との 2 つの線で定義された領域ができますy = x
。2 番目の線を透明に設定することもできます。
完全な例:
var model = new PlotModel { Title = "AreaSeries" };
var series = new AreaSeries { Title = "series" };
for (double x = -10; x <= 10; x++)
{
series.Points.Add(new DataPoint(x, (-1 * (x * x) + 50)));
series.Points2.Add(new DataPoint(x, x));
}
series.Color2 = OxyColors.Transparent;
model.Series.Add(series);
plotView.Model = model;
必要な数式を追加するだけで、コメントに入力したものと同様のグラフが表示されるはずです。