在ZedGraph中格式化DateAsOrdinal xAxis标签

时间:2011-02-10 01:01:23

标签: zedgraph

我现在已将 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 个答案:

答案 0 :(得分:1)

我想,这样做:

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

答案 1 :(得分:0)

通过单独格式化每个标签来解决此问题。