private TickFormattedText[] CreateTickLabels(double[] ticks) { var ret = new List <TickFormattedText>(); GetTickLabelFormator().InitTicks(ticks); if (ticks != null && ticks.Length > 0) { foreach (var tick in ticks) { var text = new TickFormattedText() { Position = axis.GetPositionByValue(tick), Text = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick), }; ret.Add(text); } } return(ret.ToArray()); }
private void CreateTickTexts(out TickFormattedText[] texts, out LinearTickPosition[] ticks, out GridLinePosition[] lines) { var checkPreTicks = tickCalculator.CreateTicks(new Range <double>(preAxis.Minimum, preAxis.Maximum)); var checkPostTicks = tickCalculator.CreateTicks(new Range <double>(postAxis.Minimum, postAxis.Maximum)); var tickTexts = new List <TickFormattedText>(); var tickPoses = new List <LinearTickPosition>(); var gridLines = new List <GridLinePosition>(); if (checkPreTicks != null && checkPreTicks.Length > 0) { checkPreTicks.ToList().ForEach((tick) => { if (SweepLinearXAxis.PostPartValid == false || SweepLinearXAxis.InPrePartRange(tick)) { var text = new TickFormattedText() { Position = preAxis.GetPositionByValue(tick), Text = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick), }; tickTexts.Add(text); var t = new LinearTickPosition() { Value = tick, Position = text.Position, Length = SweepLinearAxisModel.MajorTickLength, }; tickPoses.Add(t); gridLines.Add(new GridLinePosition(text.Position, true)); } }); } if (SweepLinearXAxis.PostPartValid && checkPostTicks != null && checkPostTicks.Length > 0) { checkPostTicks.ToList().ForEach((tick) => { if (SweepLinearXAxis.InPostPartRange(tick)) { var text = new TickFormattedText() { Position = postAxis.GetPositionByValue(tick), Text = GetTickLabelFormator().GetFormattedText(AxisModel.DataConverter != null ? AxisModel.DataConverter.ToDataValue(tick) : tick), }; tickTexts.Add(text); var t = new LinearTickPosition() { Value = tick, Position = text.Position, Length = SweepLinearAxisModel.MajorTickLength, }; tickPoses.Add(t); gridLines.Add(new GridLinePosition(text.Position, true)); } }); } texts = tickTexts.ToArray(); ticks = tickPoses.ToArray(); lines = gridLines.ToArray(); }