3

我在 C# 中使用 MS Chart,当我尝试从图表中检索几乎所有元值时遇到问题,我得到的只是 NaN。几个例子...

void chart_CursorPositionChanged(object sender, CursorEventArgs e)
{
            double selectStart = e.NewSelectionStart;
            double selectEnd = e.NewSelectionEnd;
}

e.NewSelectionStart and e.NewSelectionEnd both show NaN for their values.

另一个例子...

chart.ChartAreas[0].AxisX.Maximum

也是NaN。但是,如果我将其设置为一个值,图表会正确反映它。任何想法我做错了什么?

4

2 回答 2

1

听起来您可能没有正确初始化chart.ChartAreas[0]:您是否设置Cursor.IsUserSelectionEnabled为 true?

chart.ChartAreas[0].CursorX.IsSelectionEnabled = true;

如果您没有启用用户选择,那么当用户单击并移动鼠标时,该事件仍会触发,但不会进行选择。

至于

chart.ChartAreas[0].AxisX.Maximum == Double.NaN

这意味着图表将自行管理保证金。

于 2010-02-17T19:18:11.480 回答
0

不要像现在这样使用 CursorEventArgs 提供的数据,而是这样做:

void chart_CursorPositionChanged(object sender, CursorEventArgs e)
{
            double selectStart = chart.ChartAreas["ChartArea1"].CursorX.SelectionStart;
            double selectEnd = chart.ChartAreas["ChartArea1"].CursorX.SelectionEnd;

}

我今天遇到了和你一样的问题,这为我解决了。我不知道为什么 CursorEventArg 数据返回 NaN

于 2013-09-01T10:35:00.380 回答