Effacer les filtres
Effacer les filtres

how do I create a handle to a plot without plotting?

38 vues (au cours des 30 derniers jours)
Rick Giovanini
Rick Giovanini le 9 Jan 2018
Hello, here is my code
function handle = DrawLink(z,w,h,handle)
pts = [z-w/2, z+w/2, z+w/2, z-w/2; 0, 0, h, h];
X = pts(1,:);
Y = pts(2,:);
if isempty(handle)
handle = fill(X,Y,'b');
end
end
I am trying to create a handle to the plot without plotting it while I make it. How do I do this? Thanks.

Réponses (2)

Star Strider
Star Strider le 9 Jan 2018
Try this:
fh = figure(1);
set(fh, 'Visible','off')
plot(rand(1,10), rand(1,10), 'p')
Then later, when you want to see it:
set(fh, 'Visible','on')
and it magickally appears!
  4 commentaires
Rick Giovanini
Rick Giovanini le 10 Jan 2018
So, I don't want to turn the whole plot off because I have other things that are plotted, and I have these things animated. I just want a handle to this, and then I need to do something to determine if I need to rotate it, and then to plot it, or just plot it first of all. In order to rotate without plotting, I need to have this handle.
Star Strider
Star Strider le 10 Jan 2018
I do not understand what you want to do, or what your requirements are.

Connectez-vous pour commenter.


Pablo Saavedra G.
Pablo Saavedra G. le 18 Fév 2019
You can always create an empty handle at the current axes and pass it to your function, for example:
handle = plot([],[],'-');
then in your function, the line with the if will get a TRUE
if isempty(handle)
handle = fill(X,Y,'b'); % note that previous handle (from plot) is repalced to fill
end

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by