我能用Oxyplot画出积分的面积吗?
本文关键字:Oxyplot | 更新日期: 2023-09-27 18:14:30
是否可以在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
和y = x
。你甚至可以设置第二行为透明。
完整的示例:
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;
现在你只需要添加你需要的公式,它应该显示一个类似的图表,你在你的评论