如何在绘图上绘制矩形?

时间:2015-04-21 18:19:52

标签: c# wpf oxyplot

是否可以使用OxyPlot绘制矩形?就像是 enter image description here

或者OxyPlot不支持这个吗?

2 个答案:

答案 0 :(得分:3)

你的确可以。

有几种方法可以做到。我更喜欢使用注释,因为这也会为您提供突出显示的背景,并为您提供在此区域添加点击事件的选项。如果你想让它看起来像你提供的图像,可能有办法删除高光。

var Event = new PolygonAnnotation();

Event.Layer = AnnotationLayer.BelowAxes;
Event.StrokeThickness = 5;
Event.Stroke = OxyColor.FromRgb(0, 0, 255);
Event.LineStyle = LineStyle.Automatic;

Event.Points.Add(new DataPoint(X, Y));
Event.Points.Add(new DataPoint(X, Y));            
Event.Points.Add(new DataPoint(X, Y));
Event.Points.Add(new DataPoint(X, Y));

另一种更简单的方法是创建一个线系列并将其赋予矩形的角。

答案 1 :(得分:2)

为什么不使用已存在的RectangleAnnotation? 它提供填充,描边,点击检测,文本。 示例:

model.Annotations.Add(new RectangleAnnotation { MinimumX = 20, MaximumX = 70, MinimumY = 10, MaximumY = 40, TextRotation = 10, Text = "RectangleAnnotation", Fill = OxyColor.FromAColor(99, OxyColors.Blue), Stroke = OxyColors.Black, StrokeThickness = 2 });

如果现有的注释不够好,您可以随时创建自己的自定义注释。