WPF样条曲线图通过模板lineseries

时间:2017-02-28 06:25:57

标签: wpf charts spline

我的申请中要求创建样条图而不是lineseries图表。我知道WPF没有直接提供splineseries。

如何自定义(模板)lineseries图表以显示曲线图,我不想使用任何第三方付费工具。

由于

2 个答案:

答案 0 :(得分:3)

如果您对样条线系列的意思是平滑线系列,则可以使用OxyPlot(当然是免费的)。使用LineSeries并将Smooth属性设置为true

这里有一个例子:

    public MainWindow()
    {
        this.InitializeComponent();
        var plotModel = new PlotModel { Title = "OxyPlot" };
        plotModel.Axes.Add(new OxyPlot.Axes.LinearAxis { Position = OxyPlot.Axes.AxisPosition.Bottom });
        plotModel.Axes.Add(new OxyPlot.Axes.LinearAxis { Position = OxyPlot.Axes.AxisPosition.Left, Maximum = 10, Minimum = 0 });
        var series1 = new OxyPlot.Series.LineSeries
        {
            MarkerType = MarkerType.Circle,
            MarkerSize = 5,
            MarkerStroke = OxyColors.White
        };
        series1.Points.Add(new DataPoint(0, 6));
        series1.Points.Add(new DataPoint(1, 2));
        series1.Points.Add(new DataPoint(2, 4));
        series1.Points.Add(new DataPoint(3, 2));
        series1.Points.Add(new DataPoint(4, 7));
        series1.Points.Add(new DataPoint(6, 6));
        series1.Points.Add(new DataPoint(8, 8));
        series1.Smooth = true;
        plotModel.Series.Add(series1);
        this.Content = new OxyPlot.Wpf.PlotView() { Model = plotModel };
    }

请注意这部分:series1.Smooth = true;

答案 1 :(得分:1)

这个答案已经过时了。

在撰写本文时,属性InterpolationAlgorithm用于设置样条线类型。

var series = new LineSeries
{
    InterpolationAlgorithm = InterpolationAlgorithms.CanonicalSpline
};
相关问题