MS Chart和NaN

时间:2010-02-17 18:03:25

标签: c# mschart

我正在使用带有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。但是,如果我将其设置为某个值,则图表会正确反映它。我有什么想法我做错了吗?

2 个答案:

答案 0 :(得分:1)

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

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

如果您尚未启用用户选择,则当用户点击并移动鼠标时,该事件仍会触发,但不会进行选择。

至于

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

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

答案 1 :(得分: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