Как всегда отображать первую и последнюю метку AxisX с элементами управления Microsoft Chart?

Я разрабатываю диаграмму развития акций с помощью Microsoft Chart Controls, и мне нужно показать начальную и конечную даты на этикетках AxisX, но я не могу этого сделать.

Я погуглил и нашел много решений, таких как установка свойств:

Chart1.ChartAreas[0].AxisX.Minimum = InitialDate.ToOADate();
Chart1.ChartAreas[0].AxisX.Maximum = FinalDate.ToOADate();
Chart1.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = true;

Ничто не делало одинаковых различий. Мне нужна помощь!

В приведенном ниже примере начальной датой было 26 июля 2007 г., а последней - 26 июля 2010 г., это то, что мне нужно показать на этикетках диаграммы, остальные даты не имеют значения и могут отображаться в любом интервале.

альтернативный текст http://img826.imageshack.us/img826/6518/evolucaoinvestimento.png < / а>


person Charles Cavalcante    schedule 28.07.2010    source источник


Ответы (1)


У меня есть способ:

// get the interval in days
double days = (double)((TimeSpan)(FinalDate - InitialDate)).Days;

// the number os labels
double labels = 10.0;

// check if the number of days is bigger than labels
if (days > labels)
{
    // calculate the interval
    double interval = days / labels;
    Chart1.ChartAreas[0].AxisX.Interval = interval;
}
else
{
    // set the interval of 1 day
    Chart1.ChartAreas[0].AxisX.Interval = 1;
}

Вот результат:

диаграмма http://img691.imageshack.us/img691/7796/chartimgca42ufcm.png

person Charles Cavalcante    schedule 02.08.2010