c# 图表间隔与自定义增加选项

c# chart interval with custom increase option

我正在使用 C# Chart,目前有:

mychart.chartAreas[0].AxisX.Minimum=0;
mychart.chartAreas[0].AxisX.Maximum=40;
mychart.chartAreas[0].AxisX.Interval=4;

这工作正常,即我在 x 轴上得到 0、4、8、12 等...但是有没有办法让间隔成为 2 的幂?即,我会得到 x 轴 0、2、4、8、16 等。谢谢。

您需要 2 的幂的对数 X 轴。

chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisX.LogarithmBase = 2;

将生成一个图表来呈现它的 X 轴,如:

您还可以渲染一个带有几十年的次要网格,就像您可能习惯在对数图表上看到的那样:

chart1.ChartAreas[0].AxisX.Minimum = 1;
chart1.ChartAreas[0].AxisX.Maximum = 64;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisX.MinorGrid.Enabled = true;
chart1.ChartAreas[0].AxisX.MinorGrid.Interval = 0.1;
chart1.ChartAreas[0].AxisX.MinorGrid.LineDashStyle = ChartDashStyle.Dash;
chart1.ChartAreas[0].AxisX.IsLogarithmic = true;
chart1.ChartAreas[0].AxisX.LogarithmBase = 2;

呈现: