我是新的WPF和我正在工作的项目要求我绘制一个清单的双XY图表。我在我的项目中添加了Oxyplot来绘制图表,但我在获得绘图时遇到了一些挑战。
我学习了Oxyplot站点上的示例(请参阅下面的代码),但我发现DataPoint只能接受x和y的双值,而不是数组或双倍列表。
如何将List<double>绘制为XValues,List<double>绘制为YValues?
namespace WpfApplication2
{
using System.Collections.Generic;
using OxyPlot;
public class MainViewModel
{
public MainViewModel()
{
this.Title = "Example 2";
this.Points = new List<DataPoint>
{
new DataPoint(0, 4),
new DataPoint(10, 13),
new DataPoint(20, 15),
new DataPoint(30, 16),
new DataPoint(40, 12),
new DataPoint(50, 12)
};
}
public string Title { get; private set; }
public IList<DataPoint> Points { get; private set; }
}
}发布于 2018-06-21 14:41:38
我真的不明白为什么你不能直接存储DataPoint的列表.但是假设你有你的2个列表,我假设你的列表有相同的长度(如果不是,你有一个问题,因为所有的点都应该有一个X和Y值)。
所以我想是这样的:
List<double> XValues = new List<double> { 0, 5, 10, 22, 30 };
List<double> YValues = new List<double> { 2, 11, 4, 15, 20 };
for (int i = 0; i < XValues.Count; ++i)
{
Points.Add(new DataPoint(XValues[i], YValues[i]));
}这并不是真正的优雅,如果您是创建列表的人,您应该将它们合并到一个DataPoint列表中,如said @PaoloGo。如果您喜欢使用自定义对象,以防不使用矛盾图,则可以创建一个类似于此的简单对象,例如:
public struct ChartPoint
{
public double X;
public double Y;
public ChartPoint(double x, double y)
{
X = x;
Y = y;
}
}然后你把这个储存起来
List<ChartPoint> points;https://stackoverflow.com/questions/50892253
复制相似问题