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