Метки дополнительных осей не работают?

Итак, у меня есть ось x datetime на MSChart. Я хочу построить месяцы ниже первого числа каждого месяца и года. ниже изменения года. Вот что у меня есть на данный момент:

for (int i = 0; i < rdate.Length -1 ; i++)
{
    if (rdate[i].Day == 01 && set == 0)

    chart1.ChartAreas[0].AxisX.CustomLabels.Add(
       rdate[i].AddDays(-20).ToOADate(), rdate[i].AddDays(20).ToOADate(), 
       Convert.ToString(rdate[i].ToString("MMMM")), 1, LabelMarkStyle.None);
    set = 1;

    if (rdate[i].Day > 01) 
    set = 0;

    i++;

    if (rdate[i].Year > rdate[i-1].Year)

    chart1.ChartAreas[0].AxisX.CustomLabels.Add(
       rdate[i].AddDays(-20).ToOADate(), rdate[i].AddDays(20).ToOADate(), 
       Convert.ToString(rdate[i].ToString("yyyy")), 2, LabelMarkStyle.None);     
}

Однако по какой-то причине несколько месяцев пропускаются ... Годы вообще не отображаются.

rdate - это массив даты и времени, используемый для заполнения x ось.

Вот пример того, что делает мой код: enter image description here

Как видите, ярлыки ведут себя неожиданно. Я также хотел бы показать более крупную отметку для этих дат и уменьшить количество меток дней в зависимости от диапазона дат, но я в недоумении. Кто-нибудь делал подобные вещи раньше?

7
задан 26 February 2012 в 17:42
поделиться