From 5399dd3069b0e7cf85623deaaf33335aec08971e Mon Sep 17 00:00:00 2001 From: Mathieu Bailly-Grandvaux Date: Thu, 20 Nov 2025 19:33:32 -0800 Subject: [PATCH] Update annotation.py Add angle annotation for AnnotedSegment --- plotpy/items/annotation.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plotpy/items/annotation.py b/plotpy/items/annotation.py index 01ce6496..67305da7 100644 --- a/plotpy/items/annotation.py +++ b/plotpy/items/annotation.py @@ -599,6 +599,11 @@ def get_tr_center(self): """Return segment position (middle) after applying transform matrix""" return compute_center(*self.get_transformed_coords(0, 1)) + def get_angle(self): + """Get angle for instance based on shape position""" + x1, y1, x2, y2 = self.get_rect() + return np.angle((x2-x1)+1j*(y2-y1),deg=True) + # ----AnnotatedShape API----------------------------------------------------- def set_label_position(self): """Set label position, for instance based on shape position""" @@ -616,6 +621,7 @@ def get_info(self) -> str: [ _("Center:") + " " + self.get_tr_center_str(), _("Distance:") + " " + self.x_to_str(self.get_tr_length()), + _("Angle:") + " %.1f°" % self.get_angle(), ] )