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

39 次查看(过去 30 天)
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.

回答(2 个)

Star Strider
Star Strider 2018-1-9
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 个评论
Rick Giovanini
Rick Giovanini 2018-1-10
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 2018-1-10
I do not understand what you want to do, or what your requirements are.

请先登录,再进行评论。


Pablo Saavedra G.
Pablo Saavedra G. 2019-2-18
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

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by