DrawEllipse with no markers on Line

10 views (last 30 days)
Roxana Sierra
Roxana Sierra on 16 Mar 2023
Answered: sr123 on 5 Jun 2024
Hello
I would like to have an ellipse on my scatter plot (not an image) that I am creating with the scatter function. I would like to enclose certain data points with an ellipse.
I tried two ways:
  1. inserting an ellipse from the interactive Figure window. However, I cannot make it transparent (no FaceAlpha)
  2. using drawellipse from the Image Processing Tool Box. This works very well, except that the 4 markers show on the ellipse line. I changed the MakerSize to 0.1 and this helps but they are still visible and can be confused with actual data points from my scatter plot. I was wondering if there is a way to show the ellipse with no markers on the line.
Thanks!

Answers (2)

Image Analyst
Image Analyst on 16 Mar 2023
See attached demos where I put ellipses on graphs with no handles. One of them should do what you want.
  1 Comment
Roxana Sierra
Roxana Sierra on 17 Mar 2023
Thanks for that. However, it is not what I was looking for. I am using the drawellipse function (https://www.mathworks.com/help/images/ref/drawellipse.html). And it works well except that the markers of the ellipse show as seen in the left panel in figure attached.
I just found how to do it: this should be added to the Tips section of the Ellipse Documentation:
Position the pointer near a vertex. The pointer changes to the rotate pointer. press Shift and Click. Markers will dissapear and image can be copied with ellipse (and no markers).

Sign in to comment.


sr123
sr123 on 5 Jun 2024
The workaround in the comment didn't seem to work for me, unfortunately, and although I'm sure there are many other ways of drawing ellipses and circles, the question relates to the functionality and appearance of the MATLAB provided annotation('ellipse') and drawellipse tools.
For drawellipse, I managed to remove the markers by setting the property "InteractionsAllowed" to 'none', following from another question on this topic, i.e.:
e = drawellipse;
e.InteractionsAllowed = 'none'
It does mean the ROI can no longer be edited interactively.
I'm surprised there is no way to edit FaceAlpha for annotation objects. It seems like both of these tools are missing some basic functionalities.

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!