подпись значений на осях символами pi

Mar 21, 2012 at 9:57 AM

Подскажите есть ил возможность подписывать значения точек на осях символами пи?

Я не смог найти нигде этого ни в документации ни в примерах. Нужно чтобы на оси размещались пи, 2пи, 3 пи и тд чтобы отмечать периоды тригонометрических функций.

На сколько я понимаю нужно задать формат оси в следующей конструкции, но пока я так и не понял как это сделать с тригонометрическими символами

((NumericAxis)plotter.HorizontalAxis).LabelProvider.LabelStringFormat = "{0}°";

 

Заранее спасибо!

Mar 22, 2012 at 1:52 PM

 

The simplest approach is following: 

   NumericAxis second = new NumericAxis();
            second.Background = Brushes.White;
            second.LabelProvider = new ToStringLabelProvider();
            second.LabelProvider.SetCustomView((info, ui) =>
                {
                    if (info.Tick % 3.14 == 0)
                    {
                        TextBlock t = (TextBlock)ui;
                        t.Foreground = Brushes.Red;
                        t.FontSize = 10;
                        t.Text = ((int)(info.Tick / 3.14)).ToString() + "π";
                    }
                    else
                    {
                        TextBlock t = (TextBlock)ui;
                        t.Text = null;
                    }
                });

But iy lacks that fact that this PI-ticks does not appear as MajorTicks (i.e. as 0,1,2,...)
I think the best way is to write your own LabelTickProvider class 
which derived from ITicksProvider<double> interface and then use it in appropriate way