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());
        }
Exemplo n.º 2
0
        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();
        }