我在我的項目中使用了ZedGraph,它真棒!但還有一件事我不明白。即時尋找直接在圖表繪製的LineItem的描述中,類似上圖:ZedGraph:如何使用TextObj直接在圖表中標記LineItem?
http://www.imagesup.net/?di=113548312290
我試圖用TextObj的一些可能性,但我仍然有正確的問題計算角度,它不對應於線的斜率。任何人都可以告訴我什麼是錯的? PS:也許這可能是由於X軸和Y軸的不同範圍或屏幕上這些軸的長度不同造成的?
PointPair ptA = new PointPair(0, 100);
PointPair ptB = new PointPair(100, 0);
PointPairList ppl = new PointPairList();
ppl.Add(ptA);
ppl.Add(ptB);
LineItem myCurve = zedGraphControl1.GraphPane.AddCurve(string.Empty, ppl, Color.Red, SymbolType.Circle);
// centre of line
PointPair pt = new PointPair(0.5 * (ptA.X + ptB.X), 0.5 * (ptA.Y + ptB.Y));
TextObj text = new TextObj("desc", pt.X, pt.Y, CoordType.AxisXYScale, AlignH.Center, AlignV.Center);
text.ZOrder = ZOrder.A_InFront;
double dX = ptB.X - ptA.X;
double dY = ptB.Y - ptA.Y;
float alfa = (float)(Math.Atan2(dY, dX) * (180.0/Math.PI));
text.FontSpec.Angle = alfa;
zedGraphControl1.GraphPane.GraphObjList.Add(text);
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();
zedGraphControl1.Refresh();