在 WindowsForms 中使用 OxyPplot
本文关键字:OxyPplot WindowsForms | 更新日期: 2023-09-27 17:56:55
到目前为止,从我在OxyPlot
文档中看到的内容来看,那里没有多少。 如何获取 x-y 点并使用 OxyPlot 绘制它们?
以下是我尝试采取两点并将它们绘制成图表:
var dataModel = new PlotModel { Title = "data plot" };
foreach (var pt in dataProfile)
{
XYData.Text = String.Format("X:{0} Y:{1}", pt.X,pt.Y);
dataModel.Series.Add(pt.X, pt.Y); //(obviously wrong here)
this.plot1.Model = dataModel;
}
我需要更改/添加什么:dataModel.Series.Add(pt.X, pt.Y);
,以便增加积分?此外,如何绘制一段时间内的点?(x-y,随着时间 t 的流逝绘制)
有谁知道一个好的OxyPlot教程站点(用于WinForms),因为我找不到一个(除了OxyPlot文档,它充其量是非常广泛的)。
我知道你WinForms
提到过,但你必须能够熟悉查看所有示例和所有源代码,无论使用什么 UI 框架。在你最喜欢的搜索引擎中查找 oxyplot,你会在他们的 GitHub 页面上找到很多例子(或者每当看到这个答案时他们会使用的任何 repo 服务)。
无论如何,你想要的是一个ScattierSeries
情节。 然后,向其添加点。 举个例子:
public static PlotModel ExampleScatterSeriesPlot()
{
var plotModel1 = new PlotModel();
plotModel1.Subtitle = "The scatter points are added to the Points collection.";
plotModel1.Title = "ScatterSeries";
var linearAxis1 = new LinearAxis();
linearAxis1.Position = AxisPosition.Bottom;
plotModel1.Axes.Add(linearAxis1);
var linearAxis2 = new LinearAxis();
plotModel1.Axes.Add(linearAxis2);
var scatterSeries1 = new ScatterSeries();
scatterSeries1.Points.Add(new ScatterPoint(0.667469348137951, 0.701595088793707));
scatterSeries1.Points.Add(new ScatterPoint(7.74765135149828, 5.11139268759237));
scatterSeries1.Points.Add(new ScatterPoint(7.97490558492714, 8.27308291023275));
scatterSeries1.Points.Add(new ScatterPoint(1.65958795308116, 7.36130623489679));
scatterSeries1.Points.Add(new ScatterPoint(2.6021636475819, 5.06004851081411));
scatterSeries1.Points.Add(new ScatterPoint(2.30273722312541, 3.87140443263175));
scatterSeries1.Points.Add(new ScatterPoint(2.15980615101746, 0.208108848989061));
scatterSeries1.ActualPoints.Add(new ScatterPoint(0.667469348137951, 0.701595088793707));
scatterSeries1.ActualPoints.Add(new ScatterPoint(7.74765135149828, 5.11139268759237));
scatterSeries1.ActualPoints.Add(new ScatterPoint(7.97490558492714, 8.27308291023275));
scatterSeries1.ActualPoints.Add(new ScatterPoint(1.65958795308116, 7.36130623489679));
scatterSeries1.ActualPoints.Add(new ScatterPoint(2.6021636475819, 5.06004851081411));
scatterSeries1.ActualPoints.Add(new ScatterPoint(2.30273722312541, 3.87140443263175));
scatterSeries1.ActualPoints.Add(new ScatterPoint(2.15980615101746, 0.208108848989061));
plotModel1.Series.Add(scatterSeries1);
return plotModel1;
}
我给你的示例浏览器链接下有很多例子。 上面的代码是从那里截取的。因此,研究所有可用的选项。 OxyPlot非常灵活,在我最近的项目中,我已经能够轻松地扩展它。