2014-04-06 8 views
0

왜 참조에 오류가 있는지 잘 모르겠습니다. OxyPlot.Wpf.LineSeries ~ OxyPlot.Series.SeriesSystem.Collections.ObjectModel.Collection.Add(OxyPlot.Axes.Axis)에 대한 최상의 오버로드 된 메서드 일치에는 잘못된 인수가 있습니다.참조에 오류가 있습니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using OxyPlot; 
using OxyPlot.Wpf; 
using OxyPlot.Axes; 

namespace points 
{ 
    public class PsdTest 
    { 
     public static PlotModel Filteringinvalidpoints() 
     { 
      var plotModel1 = new PlotModel(); 
      plotModel1.Title = "Filtering invalid points"; 
      var linearAxis1 = new LinearAxis(); 
      linearAxis1.Position = AxisPosition.Bottom; 
      linearAxis1.Title = "X-axis"; 
      plotModel1.Axes.Add(linearAxis1); 
      var linearAxis2 = new LinearAxis(); 
      linearAxis2.Title = "Y-axis"; 
      plotModel1.Axes.Add(linearAxis2); 
      var lineSeries1 = new LineSeries(); 
      lineSeries1.Title = "NaN"; 
      lineSeries1.Points.Add(new DataPoint(double.NaN, double.NaN)); 
      lineSeries1.Points.Add(new DataPoint(1, 0)); 
      lineSeries1.Points.Add(new DataPoint(2, 10)); 
      lineSeries1.Points.Add(new DataPoint(double.NaN, 20)); 
      lineSeries1.Points.Add(new DataPoint(3, 10)); 
      lineSeries1.Points.Add(new DataPoint(4, 0)); 
      lineSeries1.Points.Add(new DataPoint(4.5, double.NaN)); 
      lineSeries1.Points.Add(new DataPoint(5, 0)); 
      lineSeries1.Points.Add(new DataPoint(6, 10)); 
      lineSeries1.Points.Add(new DataPoint(double.NaN, double.NaN)); 
      lineSeries1.Points.Add(new DataPoint(7, 0)); 
      lineSeries1.Points.Add(new DataPoint(double.NaN, double.NaN)); 
      plotModel1.Series.Add(lineSeries1); 
      var lineSeries2 = new LineSeries(); 
      lineSeries2.Title = "PositiveInfinity"; 
      lineSeries2.Points.Add(new DataPoint(double.PositiveInfinity, double.PositiveInfinity)); 
      lineSeries2.Points.Add(new DataPoint(1, 1)); 
      lineSeries2.Points.Add(new DataPoint(2, 11)); 
      lineSeries2.Points.Add(new DataPoint(double.PositiveInfinity, 20)); 
      lineSeries2.Points.Add(new DataPoint(3, 11)); 
      lineSeries2.Points.Add(new DataPoint(4, 1)); 
      lineSeries2.Points.Add(new DataPoint(4.5, double.PositiveInfinity)); 
      lineSeries2.Points.Add(new DataPoint(5, 1)); 
      lineSeries2.Points.Add(new DataPoint(6, 11)); 
      lineSeries2.Points.Add(new DataPoint(double.PositiveInfinity, double.PositiveInfinity)); 
      lineSeries2.Points.Add(new DataPoint(7, 1)); 
      lineSeries2.Points.Add(new DataPoint(double.PositiveInfinity, double.PositiveInfinity)); 
      plotModel1.Series.Add(lineSeries2); 
      var lineSeries3 = new LineSeries(); 
      lineSeries3.Title = "NegativeInfinity"; 
      lineSeries3.Points.Add(new DataPoint(double.NegativeInfinity, double.NegativeInfinity)); 
      lineSeries3.Points.Add(new DataPoint(1, 2)); 
      lineSeries3.Points.Add(new DataPoint(2, 12)); 
      lineSeries3.Points.Add(new DataPoint(double.NegativeInfinity, 20)); 
      lineSeries3.Points.Add(new DataPoint(3, 12)); 
      lineSeries3.Points.Add(new DataPoint(4, 2)); 
      lineSeries3.Points.Add(new DataPoint(4.5, double.NegativeInfinity)); 
      lineSeries3.Points.Add(new DataPoint(5, 2)); 
      lineSeries3.Points.Add(new DataPoint(6, 12)); 
      lineSeries3.Points.Add(new DataPoint(double.NegativeInfinity, double.NegativeInfinity)); 
      lineSeries3.Points.Add(new DataPoint(7, 2)); 
      lineSeries3.Points.Add(new DataPoint(double.NegativeInfinity, double.NegativeInfinity)); 
      plotModel1.Series.Add(lineSeries3); 
      return plotModel1; 
     } 

    } 
} 

답변

0

네임 스페이스가 다른 문제가있는 것 같습니다. 나는 여러분이 시도하고있는 것을 완전히 이해한다고 말할 수는 없으므로 원하는 결과를 얻을 수는 없지만 다음 네임 스페이스 (Nuget을 통해 OxyPlot.Wpf를 설치 함)를 사용하여 코드를 컴파일 할 수있었습니다 :

using OxyPlot; 
using OxyPlot.Axes; 
using OxyPlot.Series; 

네임 스페이스에서 특정 동작을 찾았 으면이 방법이 도움이되지 않을 수도 있습니다.