1

我正在使用 Microsoft Chart Controls for .NET 3.5,并且正在努力让图表控件支持窗口和控件调整大小。

我有 X 值为日期的图表,并希望图表在调整窗口大小时在图表轴上显示可用的最大间隔/标签。

我最接近的是从 PrePaint 事件中调用它:

double interval = chart.Series[0].Points.Count / ((double)chart.Width / 90);
foreach (var area in chart.ChartAreas.Where(ca => ca.Visible))
{
    area.AxisX.Interval = interval;
}

这使得间隔和标签完全符合 X 轴,但日期显示不正确。第一个标签似乎是正确的(2008 年的某个日期),但沿轴的其余标签显示为 1900 年的某个日期。

这样做的首选方法是什么?

4

1 回答 1

1

对于 Microsoft 图表控件中的日期,您必须明确指定开始的最短日期。否则以 1899 年 12 月 29 日为原点。您可以在图表上设置最小和最大日期,例如

chart.ChartAreas[0].AxisY.Minimum = (new DateTime(2010, 5, 1)).ToOADate();
chart.ChartAreas[0].AxisY.Maximum = (new DateTime(2011, 4, 1)).ToOADate();

使用MS 图表控件创建甘特图一文包含有关 Microsoft 图表控件的一些有价值的信息。

于 2010-08-30T06:36:15.737 回答