Zedgraph持续时间轴

3
我正在尝试获取我X轴上的时间间隔。目前我使用的是日期轴,但无法有“day 0”,如下所示: Dates 正如您所看到的,我没有“day 0”,因为在开始不到24小时就可能发生某件事情。我需要的是格式化后的内容: numberOfDays hours:minutes:seconds 我目前使用以下代码来计算我的X轴:
XDate date = new XDate(0, 0,
    event.Time.Days,
    event.Time.Hours,
    event.Time.Minutes,
    event.Time.Seconds,
    event.Time.Milliseconds);
double x = date;

我的轴线是:
graphPane.XAxis.Title.Text = xAxisTitleText.ToString();
graphPane.XAxis.Scale.IsVisible = true;
graphPane.XAxis.Type = AxisType.Date;
graphPane.XAxis.Scale.Format = "dd HH:mm:ss";

所以,最终我想要的标签是:0 02:23:14 0 08:56:12 1 01:03:44

我需要能够缩小视图并查看天数和小时数,但也需要放大视图并查看每个事件的分钟和秒数。

注意:如果负数可以隐藏,那将非常棒,但这不是非常重要。

谢谢!

1个回答

6
我自己解决了问题!
以下是我解决问题的方法,供将来可能寻找类似解决方案的人参考:
首先,我现在将点的x值设置为TimeSpan的TotalHours,然后我添加了一个处理程序到XAxis.ScaleFormatEvent。
graphPane.XAxis.ScaleFormatEvent += new Axis.ScaleFormatHandler(Axis_ScaleFormatEvent);

static string Axis_ScaleFormatEvent(GraphPane pane, Axis axis, double val, int index)
{
    TimeSpan timeVal = TimeSpan.FromHours(val); return timeVal.ToString();
}

希望这可以帮到其他寻找同样内容的人!

注意:使用此方法也可以执行其他操作,任何您可以更改为双精度浮点数,然后再更改回来的内容都应该在此处有效。非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接