2

我能够使图形 X 轴以 DateTime 格式显示,但是当我的鼠标指向曲线项时我无法获取日期时间,PointPair 仅以双精度返回数据。我如何获得日期?

myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Scale.Min = new XDate(DateTime.Now);  // We want to use time from now
myPane.XAxis.Scale.Max = new XDate(DateTime.Now.AddMinutes(5));  // to 5 minutes per default
myPane.XAxis.Scale.MinorUnit = DateUnit.Second;         // set the minimum x unit to time/seconds
myPane.XAxis.Scale.MajorUnit = DateUnit.Minute;         // set the maximum x unit to time/minutes
myPane.XAxis.Scale.Format = "T";

下面是函数

private string MyPointValueHandler(ZedGraphControl control, GraphPane pane, CurveItem curve, int iPt)
{
        // Get the PointPair that is under the mouse
        PointPair pt = curve[iPt];

        if( curve.Label.Text == "Temperature" )
            return curve.Label.Text + " is " + pt.Y.ToString("f2") + " ºC at " + pt.X.ToString("f2");
        else
            return curve.Label.Text + " is " + pt.Y.ToString("f2") + " % at " + pt.X.ToString("f2");

}

我想要这样的结果,例如: 下午 4:20:12 温度为 23ºC

4

1 回答 1

1
    PointPair pt = curve[iPt];
    XDate the_date = new XDate(pt.X);

    if( curve.Label.Text == "Temperature" )
        return curve.Label.Text + " is " + pt.Y.ToString("f2") + " ºC at " + the_date.DateTime;
    else
        return curve.Label.Text + " is " + pt.Y.ToString("f2") + " % at " + the_date.DateTime;
于 2013-01-02T00:47:35.583 回答