Make lines visible or invisible

Is there a way (in a script) to make lines visible or invisible when you open a figure already existing (using openfig())? Thanks

Answers (2)

plot(rand(10,1))
set(gcf,'visible','off')
set(gcf,'visible','on')
Mischa Kim
Mischa Kim on 20 Oct 2016
Edited: Mischa Kim on 20 Oct 2016
There is:
t = 0:0.1:10;
y = sin(t);
figure
h1 = plot(t,y);
set(h1,'Tag','Line1')
hold on
h2 = plot(t,y.^2);
set(h2,'Tag','Line2')
savefig('MySavedPlot.fig');
close(gcf)
clear
fig = openfig('MySavedPlot.fig');
axesObjs = get(fig, 'Children');
dataObjs = get(axesObjs, 'Children');
set(findobj(dataObjs,'Tag','Line2'),'LineStyle','none');

4 Comments

It works also if you have more than one line? Because I have a graph with 14 lines and I would like to make visible all the combination of 2 lines and save all the "2 line graphs" as *.emf file.
Yes, it is: tag all 14 lines so you can find them again using the findobj command. See updated script above.
Is there a way to do this but still have the original color show up in the legend. I want to have a correct legend corresponding to conditions but if the plot doesn't meet all of them I don't want to plot it.
@Devlin Murray were you able to figure out how to do what you asked? I'm trying to do the same thing, thank you!

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Asked:

on 20 Oct 2016

Commented:

on 5 Feb 2020

Community Treasure Hunt

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

Start Hunting!