ScottPlot 5.0 中 信号图如何将X轴设置成间隔1秒?官方Demo中给出的是1天。
ScottPlot.Plot myPlot = new();
DateTime start = new(2024, 1, 1);
double[] ys = Generate.RandomWalk(200);
var sig = myPlot.Add.Signal(ys);
sig.Data.XOffset = start.ToOADate();
sig.Data.Period = 1.0; // one day between each point 在这个地方
myPlot.Axes.DateTimeTicksBottom();
为了改成一秒,我是用的方法是 在定义一个DateTime ,比start 多1秒,然后分别转换成double。相减得到1秒对应的double值,在赋值给sig.Data.Period。
DateTime start = new(2024, 1, 1,12,0,1);
DateTime start2= new(2024, 1, 1, 12, 0, 2);
double a = start2.ToOADate();
double b = start.ToOADate();
double c = a - b;
double[] ys = Generate.RandomWalk(200);
var sig = myPlot.Add.Signal(ys);
sig.Data.XOffset = start.ToOADate();
var p = DateTime.FromOADate(c);
sig.Data.Period = c; // 1.1574069503694773E-05
myPlot.Axes.DateTimeTicksBottom();
但是这个double值并不精确 1.1574069503694773E-05,在放大很多倍查看点的X轴坐标时,并不是准确的
有什么办法修改吗?我目前发现只能通过设置 sig.Data.Period 来修改间隔。但是1秒转换成时间表示的double是个无限不循环小数。怎么处理?