我找到了两种解决问题的方法。
一个正在使用double.NaN
(突然!):
if (myChart.ChartAreas[0].AxisY.IsLogarithmic && y == 0)
myChart.Series["mySeries"].Points.AddY(double.NaN);
// or ...Points.Add(double.NaN)
这看起来像零
在我的情况下,它并没有因为以下SeriesChartType
s 而崩溃:
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 });
这看起来像是一个缺失点(一个差距):
在我的情况下,它并没有因为以下SeriesChartType
s 而崩溃:
Area, Bar, Column, Doughnut, FastPoint, Funnel, Line, Pie, Point, Polar, Pyramid, Radar, Renko, Spline, SplineArea, StackedArea, StackedArea100, StackedBar, StackedBar100, StackedColumn, StackedColumn100, StepLine, ThreeLineBreak
第二种方法感觉像是正确的(按设计)。第一个看起来像一个hack,它意外地似乎起作用了。