私はこの問題に混乱しています。単純な曲線をプロットするZedGraphオブジェクトを含むWinFormがあります。各ポイントの上にカスタムテキストオブジェクト「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();
}