Обозначить и обвести конкретную точку в zedgraph - PullRequest
3 голосов
/ 03 апреля 2012

В настоящее время я делаю проект, в котором мне удалось определить пик, который я хочу. Тем не менее, я хотел сделать больше, например, обвести точку с прикрепленным к ней ярлыком. Возможно ли это сделать в Zedgraph?

Я приложил к моему фрагменту фрагмент кода, который содержит только текстовую метку, и я хотел сделать больше, чтобы люди могли легче определить точку.

PointPair pt = myCurve.Points[i-1];
const double offset = 0.8;

TextObj text = new TextObj("P", pt.X, pt.Y + offset,
CoordType.AxisXYScale, AlignH.Left, AlignV.Center);
text.ZOrder = ZOrder.A_InFront;
text.FontSpec.Border.IsVisible = false;
text.FontSpec.Fill.IsVisible = false;
text.FontSpec.Fill = new Fill( Color.FromArgb( 100, Color.White ) );

myPane.GraphObjList.Add(text);

Любая помощь приветствуется! Спасибо!

1 Ответ

5 голосов
/ 11 апреля 2012

Создайте LineItem следующим образом

LineItem line = new LineItem("Point", new double[] {pt.x}, new double[] {pt.y}, Color.Black, SymbolType.Circle);
line.Symbol.Size = 20;
line.Symbol.Fill = new Fill(Color.Transparent);
myPane.CurveList.Add(line);

Это должно создать большой пустой круг с центром вокруг вашей точки.Очевидно, что вы можете настроить цвет и размер, как считаете нужным, и ZOrder, если вам нужно.Возможно, вы захотите изменить свою легенду, чтобы она не включала этот пункт.Кроме того, вы можете назвать эту строку с вашим ярлыком и оставить его в легенде, чтобы пометить его.Единственный другой способ для метки - это делать то, что ты делаешь, поскольку я не уверен в способе связать метки непосредственно с линией.

...