Формат даты как обычный xAxis метки в ZedGraph - PullRequest
2 голосов
/ 10 февраля 2011

Я изменил свою ось x на DateAsOrdinal , но я хотел бы улучшить формат метки.В настоящее время я обрабатываю XAxis.ScaleFormatEvent следующим образом:

Private Function OnXScaleFormatEvent(ByVal pane As GraphPane, ByVal axis As Axis, ByVal val As Double, ByVal index As Integer) As String
    Dim result As String = ""
    If val < priceBars.Count Then
        Dim time As Date = Date.FromOADate(priceBars(val).X)
        result = [String].Format("{0:D2}{1}{2:D2}", time.Hour, ":", time.Minute)
    End If

    Return result
End Function

Как я могу заставить этикетки печатать только каждые 30 минут?Или каждые 2 часа, как на картинке ниже?Я полагаю, что мне все еще нужно ссылаться на значения x в столбце, потому что мне нужно строить несколько дней непрерывно, всего несколько часов от каждого дня, как показано на рисунке;09: 00-23: 00.

http://i53.tinypic.com/2jcwknd.png

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Я думаю, это подойдет:

chart.GraphPane.XAxis.Scale.MajorStepAuto = False
chart.GraphPane.XAxis.Scale.MajorUnit = DateUnit.Minute
chart.GraphPane.XAxis.Scale.MajorStep = 30
chart.GraphPane.XAxis.Scale.BaseTic = 0
0 голосов
/ 29 июля 2012

Исправлено путем форматирования каждой метки отдельно.

...