protected override Func <double, double> GetYScaler([NotNull] double[] yAxis) { Max = yAxis.Max(); VerticalAxisView.Canvas.Dispatcher.InvokeAsync(() => { VerticalAxisView.DrawRuler(Min, Max, false); }); // todo: store height as const or invoke getter to adapt // const int margin = 10; const int margin = 0; var dispAreaHeight = ScreenHeight - 2 * margin; return(y => dispAreaHeight - dispAreaHeight / Max * y + margin); // const int margin = 0; // var dispAreaHeight = ScreenHeight - 2*margin; // return y => dispAreaHeight - dispAreaHeight/(max - min)*(y - min) + margin; }
protected override Func <double, double> GetYScaler([NotNull] double[] yAxis) { double min, max; Functions.FindMinMax(yAxis, out min, out max); Min = min; Max = max; VerticalAxisView.Canvas.Dispatcher.InvokeAsync(() => { VerticalAxisView.DrawRuler(min, max, true); }); // todo: store height as const or invoke getter to adapt // const int margin = 10; const int margin = 0; var dispAreaHeight = ScreenHeight - 2 * margin; return(y => dispAreaHeight - dispAreaHeight / (max - min) * (y - min) + margin); // const int margin = 0; // var dispAreaHeight = ScreenHeight - 2*margin; // return y => dispAreaHeight - dispAreaHeight/(max - min)*(y - min) + margin; }