首页 > 解决方案 > 如何在 C# Windows 窗体的 MS 图表中添加次要刻度线?

问题描述

如何在 Windows 窗体的 MS 图表中添加次要刻度线。

我正在使用下面的代码,但没有显示小刻度线。

 chart.ChartAreas[0].AxisX.MinorTickMark.Enabled = true;
 chart.ChartAreas[0].AxisX.MajorGrid.Interval = 1;
 chart.ChartAreas[0].AxisX.MajorGrid.IntervalType = DateTimeIntervalType.Seconds;
 chart.ChartAreas[0].AxisX.MinorTickMark.IntervalType = DateTimeIntervalType.Number;
chart.ChartAreas[0].AxisX.MinorTickMark.Interval = 2;

请帮我。

标签: c#

解决方案


MinorTickMarks你这样打开的方式很好

但是如果你想使用不同IntervalTypes的,你需要了解类型背后的数值。

在内部,所有值,x 和 y 值都定义并存储为doubles.

如果您将其中一些声明为,它们会被转换函数DateTimes转换为double(并在必要时返回):( 和)。DateTimedouble.ToOADateFromOADate

让我们看看一秒钟的结果:

DateTime dt0 = DateTime.Now;
DateTime dt1 = dt0 .AddSeconds(1);

double d0 = dt0.ToOADate();
double d1 = dt1.ToOADate();

double dd = d1 - d0;

Console.WriteLine(d0 + " .. " +  d1 + "  => "  + dd);

输出:

43612,4597045023 .. 43612,4597160764 => 1,15740695036948E-05

因此,就像在您的代码中那样,具有如此小的值 an Intervalof1不会在图表中发生。最好使用不同的类型,比如DateTimeIntervalType.Milliseconds用一个合适的Interval,比如500..!


推荐阅读