1

我正在使用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;

没有什么不同。我需要帮助!

在下面的示例中,初始日期是 2007 年 7 月 26 日,最终日期是 2010 年 7 月 26 日,这是我需要在图表标签上显示的内容,其他日期没有区别,可以以任何间隔显示。

替代文字 http://img826.imageshack.us/img826/6518/evolucaoinvestimento.png

4

2 回答 2

3
LCharts(iChart).Chart.ChartAreas(0).AxisX.Minimum = MinDate.ToOADate

LCharts(iChart).Chart.ChartAreas(0).AxisX.Maximum = MaxDate.ToOADate

LCharts(iChart).Chart.ChartAreas(0).AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount

'LCharts(iChart).Chart.ChartAreas(0).AxisX.IsMarginVisible = True

LCharts(iChart).Chart.ChartAreas(0).AxisX.LabelStyle.IsEndLabelVisible = True
于 2011-04-19T13:38:12.797 回答
2

我有办法:

// 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

于 2010-08-02T17:43:43.060 回答