6

I am looking for an example of using a datetime field on a zedgraph linechart X-Axis.

Edit - And how do I set the XAxis max scale

myPane.XAxis.Type = AxisType.Date;
myPane.XAxis.Scale.Min = 0;
myPane.XAxis.Scale.Max = 12;
Otiel
  • 18,404
  • 16
  • 78
  • 126
Brad
  • 20,302
  • 36
  • 84
  • 102

2 Answers2

11

Having had the same problem recently, I discovered that the above answer isn't actually correct. The sample code simple casts an XDate() to a double.

However, the sample does highlight what you need to do. I still use DateTime.ToOADate(), but with the addition of the following code, I get to see times (in HH:MM:SS format):

pane.XAxis.Type = AxisType.Date;
pane.XAxis.Scale.MajorUnit = DateUnit.Hour;
pane.XAxis.Scale.Format = "T";
cmroanirgo
  • 7,297
  • 4
  • 32
  • 38
5

You will have to convert the DateTime variables to XDate structs. You can create a method like this:

public XDate ConvertDateToXdate(DateTime date)
{
  return new XDate(date.ToOADate);
}

Here is an example of a chart using the XDate structs

Otiel
  • 18,404
  • 16
  • 78
  • 126
scottm
  • 27,829
  • 22
  • 107
  • 159