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 Chart Controls の日付については、開始する最小日付を明示的に指定する必要があります。それ以外の場合は、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 Chart Controls を使用したガント チャートの作成には、 Microsoft Chart Controls に関する貴重な情報が含まれています。

于 2010-08-30T06:36:15.737 に答える