我找到了两种解决问题的方法。
其中一种是使用
double.NaN
(突然间!):
if (myChart.ChartAreas[0].AxisY.IsLogarithmic && y == 0)
myChart.Series["mySeries"].Points.AddY(double.NaN);
// or ...Points.Add(double.NaN)
这看起来像是零
![enter image description here](https://istack.dev59.com/2SiUV.webp)
而在我的情况下,它没有崩溃,并使用了以下的SeriesChartType:
Column, Doughnut, FastPoint, Funnel, Kagi, Pie, Point, Polar, Pyramid, Radar, Renko, Spline, SplineArea, StackedBar, StackedColumn, ThreeLineBreak
另一种方法是内置的空指针概念:
if (myChart.ChartAreas[0].AxisY.IsLogarithmic && y == 0)
myChart.Series["mySeries"].Points.Add(new DataPoint { IsEmpty = true });
这看起来像是一个缺口:
![enter image description here](https://istack.dev59.com/v84Nv.webp)
在我的情况下,它没有与以下的 "SeriesChartType" 崩溃:
Area, Bar, Column, Doughnut, FastPoint, Funnel, Line, Pie, Point, Polar, Pyramid, Radar, Renko, Spline, SplineArea, StackedArea, StackedArea100, StackedBar, StackedBar100, StackedColumn, StackedColumn100, StepLine, ThreeLineBreak
第二种方法看起来像是经过设计的正确方法。第一种方法看起来像是一个 hack,偶然间似乎起作用。
continue
吗? - Lews Therin