ZedGraph:XAxis.DateAsOrdinal上的自定义标签

时间:2013-01-23 04:01:24

标签: c# zedgraph

我对此问题感到困惑:我有一个WinForm,ZedGraph对象绘制一条简单的曲线。它在每个点上方都有一个自定义文本对象“C”。当我将XAxis.Type更改为DateAsOrdinal时,“C”文本标签消失。如何使用DateAsOrdinal来“C”工作?

以下代码供任何人试用:

    private void DrawChart( ZedGraphControl zGraph ) {
        GraphPane pane = zGraph.GraphPane;
        pane.Title.Text = "My Sample Test";
        pane.XAxis.Title.Text = "Date";
        pane.YAxis.Title.Text = "Price";

        // Uncomment below line: all "C" labels disappear!
        //pane.XAxis.Type = AxisType.DateAsOrdinal;

        double x, y;
        PointPairList points = new PointPairList();
        DateTime day = new DateTime( 2012, 1, 1 );

        for ( int i = 0 ; i < 36 ; i++ ) {
            x = day.ToOADate();
            y = 1.5 + Math.Sin( (double)i * 0.2 );
            points.Add( x, y );

            // this label disappears when XAxis.Type = DateAsOrdinal!
            TextObj text = new TextObj( "C", x, y + 0.1, CoordType.AxisXYScale, AlignH.Center, AlignV.Center );
            text.ZOrder = ZOrder.A_InFront;
            text.FontSpec.Border.IsVisible = false;
            pane.GraphObjList.Add( text );

            day = day.AddDays( 1 );   // goto next day (x-coord)
        }

        LineItem curve = pane.AddCurve( "Stock", points, Color.Black, SymbolType.None );

        zGraph.AxisChange();
    }

1 个答案:

答案 0 :(得分:0)

尝试

  

new TextObj(“C”,i + 1,y + .....

序数XAxis表示表达式暗示x值将运行1,2,3 ......

相关问题