是否可以在 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
和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;
现在你只需要添加你需要的公式,它应该会显示一个与你在评论中输入的相似的图表。