How can I handle visibility on/off for plot function?

I am drawing circles over binary image using plot function. How can I keep the visibility off for the portion when the circle going through background and it will be on for image object portion ?

Answers (1)

For graphic objects, there is a 'Visible' Property that you can adjust.
If you have a handle for your line object, for example:
a = plot(1:5,1:5); % a is your handle to the line
set(a,'Visible','off'); %'off' or 'on'
%or
a.Visible = 'off';
if you wish to do this beyond the scope of the original function, you can look for this line object by accessing the children of the axes.
g = gca; %gets the current axes
objs = g.Children %this will list all line objects in your g axes
%then from here you can index to the appropriate line object you want

2 Comments

This will either off the entire line or on the entire. But I want to keep a portion of the line on and a portion off at the same time. when the line will get image object it will be on and when it will get backgroung then it will be off.
Hi Zara,
Is a graphics plot overlay needed? Could you work with images directly?
Here is one possibility:
  • you can create the circles using insertShape function: https://www.mathworks.com/help/vision/ref/insertshape.html and draw them into a new blank image (matrix)
  • then use imblend to create your composite image; you'd use it with the mask syntax so that your binary image is used as a mask and defines which pixels will bleed through to your destination image
Hopefully, these tips will lead you to a solution that you desire.
Cheers,
Witek

Sign in to comment.

Asked:

on 22 Feb 2019

Commented:

on 3 Jun 2026 at 19:00

Community Treasure Hunt

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

Start Hunting!