Отображение входящих последовательных данных на Zedgraph, ось X, начиная с 00:00

Я могу построить последовательные данные с текущим временем. Предположим, я даю myPane.XAxis.Scale.Min = 0; и какое-то максимальное значение, как мне заставить их отражать " list.add (... , значение);"

"..." - это то, что я не могу понять, что нужно передать. Я использовал приведенный ниже код для ЧЧ: мм: сс. Однако мне нужно, чтобы ось X была такой, чтобы она начиналась с 00:00 до, скажем, 5 минут.

myPane.XAxis.Scale.MaxAuto = true;
myPane.XAxis.Scale.MinAuto = true;
myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Scale.Format = "HH:mm:ss";
myPane.Legend.Position = ZedGraph.LegendPos.TopCenter;

DateTime now = new DateTime();
now = DateTime.Now; double timestamp = new XDate(now);
list.Add(timestamp, f);

буду признателен за ваши предложения


person Porcupine    schedule 19.02.2014    source источник


Ответы (1)


Я не знаю, это поможет вам, но это мой код для отображения данных в реальном времени.

/*Initial pane settings*/
pane.XAxis.Type = AxisType.Date;
pane.XAxis.Scale.Format = "dd/MM/yy\nH:mm:ss";
pane.XAxis.Scale.Min = (XDate)(DateTime.Now);
//Shows 25 seconds interval.
pane.XAxis.Scale.Max = (XDate)(DateTime.Now.AddSeconds(25));
pane.XAxis.Scale.MinorUnit = DateUnit.Second;
pane.XAxis.Scale.MajorUnit = DateUnit.Minute;
pane.XAxis.MajorTic.IsBetweenLabels = true;
pane.XAxis.MinorTic.Size = 5;

/*Real time plotting*/
XDate time = new XDate(DateTime.Now.ToOADate());
LineItem curve= curve= myPane.CurveList[0] as LineItem;
IPointListEdit list = list = curve.Points as IPointListEdit;
list.Add(time,data);
//Scale pane if current time is greater than the initial xScale.Max
Scale xScale = zgcMasterPane.MasterPane.PaneList[0].XAxis.Scale;
if (time.XLDate > xScale.Max)
{
  xScale.Max = (XDate)(DateTime.Now.AddSeconds(5));
  xScale.Min = (XDate)(DateTime.Now.AddSeconds(-20));
}
person Blast    schedule 14.03.2014
comment
Спасибо! Я проверю это - person Porcupine; 25.03.2014