如何在绘图上绘制矩形?
How to draw rectangle over a plot?
是否可以使用OxyPlot绘制矩形?就像是
:
或者OxyPlot不支持这个?
你确实可以。
有几种方法可以做到这一点。我更愿意使用注释,因为这也会为您提供突出显示的背景,并为您提供在此区域添加点击事件的选项。如果你想让它看起来像你提供的图像,可能有一种方法可以删除突出显示。
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));
另一种更简单的方法是创建一个线系列并为其指定矩形的角。
为什么不使用已经存在的 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 });
如果现有注释不够好,您始终可以创建自己的自定义注释。
是否可以使用OxyPlot绘制矩形?就像是
或者OxyPlot不支持这个?
你确实可以。
有几种方法可以做到这一点。我更愿意使用注释,因为这也会为您提供突出显示的背景,并为您提供在此区域添加点击事件的选项。如果你想让它看起来像你提供的图像,可能有一种方法可以删除突出显示。
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));
另一种更简单的方法是创建一个线系列并为其指定矩形的角。
为什么不使用已经存在的 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 });
如果现有注释不够好,您始终可以创建自己的自定义注释。