Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET图表上的点集合是否有上限?_C#_.net_Charts - Fatal编程技术网

C# .NET图表上的点集合是否有上限?

C# .NET图表上的点集合是否有上限?,c#,.net,charts,C#,.net,Charts,我不熟悉.NET的System.Windows.Forms.DataVisualization.charting库中的图表功能。在我的探索性原型设计过程中,我创建了一个图表,我可以在其中添加随机点、更改图表类型等。但我注意到,每次我在图表中添加超过34998个点(无论使用哪种类型的图表),整个图表都会消失,并替换为一个大的“X”。不会引发异常,并且它似乎不是点集合本身的限制。(如果我在添加349999点时单步执行代码,它会被添加到集合中;但是一旦图表被重新绘制,它会立即被替换为X) 我意识到这首

我不熟悉.NET的
System.Windows.Forms.DataVisualization.charting
库中的图表功能。在我的探索性原型设计过程中,我创建了一个图表,我可以在其中添加随机点、更改图表类型等。但我注意到,每次我在图表中添加超过34998个点(无论使用哪种类型的图表),整个图表都会消失,并替换为一个大的“X”。不会引发异常,并且它似乎不是点集合本身的限制。(如果我在添加349999点时单步执行代码,它会被添加到集合中;但是一旦图表被重新绘制,它会立即被替换为X)


我意识到这首先是一个图表上的大量点,我计划研究一些抽取技术来对输入数据进行下采样。但我只是想知道这个数字是否有硬限制,系统中的哪个模块是实际约束(数据集、绘图画布等)。我在报纸上找不到有人提到这件事。有人知道这样的限制吗?

此折线图有两个系列,每个系列有1000000个点:


渲染需要6秒。我想限制就是可用内存。“大红X毁灭”的一个常见原因是,如果您添加的点超出轴的最小值和最大值,以防您在操作这些点。

我有400000+的点计数图表(15+件设备每2秒24小时的数据),当它变慢时,当控件的Paint事件处理程序抛出异常时,Winforms会自动绘制红色的大X。例外被吞没了,这就是为什么看起来没有例外。顺便说一句,在输出窗口中很容易看到。您可以使用“调试>异常>抛出”复选框来更好地查看。@HansPassant-感谢您的建议,但不幸的是,输出窗口(设置为“显示调试输出”)不显示任何消息。另外,在Debug Exceptions对话框中,我选中了“抛出”和“用户未处理”下的每个框,但在红色X出现后,系统并没有收支平衡。(我注意到该对话框中有一个添加异常的按钮;您是否恰好知道我可能要查找的异常?@HansPassant-我越来越近了:在
Tools->Options->debug->General
下,我取消选中了“仅启用我的代码”。正如您所建议的,系统现在会出现异常。(当我在那里时,我还注意到设置“将所有输出窗口文本重定向到即时窗口”被选中(默认情况下??),这解释了为什么我的输出窗口是空的。