public PointCollection CreateGraphPoints(double[] xAxis, [NotNull] double[] yAxis, PointCollection points)
        {
            if (_scaleX == null)
            {
                _scaleX = GetXScaler(xAxis);
            }
            if (_scaleY == null)
            {
                _scaleY = GetYScaler(yAxis);
            }

            if (points.IsEmpty())
            {
                for (var i = 0; i < yAxis.Length; i++)
                {
                    points.Add(CreateGraphPoint(xAxis[i], yAxis[i]));
                }
            }
            else
            {
                for (var i = 0; i < yAxis.Length; i++)
                {
                    //                    // todo data overflow
                    //                    if (yAxis[i].IsSpecialValue()) {
                    //                        yAxis[i] = 0;
                    //                    }
                    points[i] = CreateGraphPoint(xAxis[i], yAxis[i]);
                }
            }
            return(points);
        }