.NET图表以大小数为点值崩溃



我在.NET图表系列中有一些问题。我将点数添加到这样的系列

point = new DataPoint();
point.AxisLabel = result.Code;
point.YValues = new double[] { pointValue };

对于值4.0343262175104857E 28,Chart.Saveimage()crashes。

值要么太大或太小,无法用小数。

在system.decimal..ctor(双值) 在System.Web.ui.datavisualization.Charting.Axis.GetRequiredLabelsize(ChartGraphics ChartGraph,Single Maxlabelsize,Single& Resulctize)) 在System.Web.ui.datavisualization.Charting.Axis.Resize(ChartGraphics ChartGraph,elementPosition Chartaraposition,Rectanglef Plotarea,Single Axesnumber,Boolean Autoplotposition) 在system.web.ui.datavisualization.charting.chartarea.resize(ChartGraphics ChartGraph) 在system.web.ui.datavisualization.charting.chartpicture.resize(ChartGraphics ChartGraph,boolean calcareapositionly) 在system.web.ui.datavisualization.charting.chartpicture.paint(图形图,boolean Paintoplevlelementonly)) 在System.Web.ui.Datavisualization.Charting.ChartiMage.getImage(单分辨率) 在system.web.ui.datavisualization.charting.chart.saveimage(stream imagestream)

该值小于小数。如果我使用int.maxvalue。

,它可以工作

我的猜测(而且是一个猜测),问题是可能与这里相同/非常相似

看起来这是您从图表中的其他内容中获得的" "冒泡 (即不是直接的Yvalues设置,而是直接的设置到UI。

我猜想这是基于链接的帖子(类似的问题),以及您的 except stack显示UI级调用例如。

System.Web.UI.DataVisualization.Charting.Axis.GetRequiredLabelSize

我唯一的建议没有示例项目/要继续:尝试剥离图表的功能(禁用功能等)直到问题消失

替代如果图表已经过于嵌入,那将是一个痛苦:制作具有最简单用法的新图表,看看是否给出了相同的例外。

对不起,无济于事。

我认为您的号码实际上可能大于十进制。

在此处请参见Jon Skeet的答案:

https://stackoverflow.com/a/3413791/661584

相关内容

  • 没有找到相关文章

最新更新