我正在使用 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日,这是我需要在图表标签上显示的,其他日期没有差异,可以在任何显示间隔。
alt text http://img826.imageshack.us/img826/6518/evolucaoinvestimento.png
答案 0 :(得分: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
答案 1 :(得分: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;
}
结果如下:
chart http://img691.imageshack.us/img691/7796/chartimgca42ufcm.png