Help writing a function for a gui
4 次查看(过去 30 天)
显示 更早的评论
I have created a GUI with a graph that randomly plots a point on the graph. I have a push button that when its clicked I want it to be able to add another random point with a different marker shape/size/color. I need to write a function to do this but i'm unsure how to do so.
2 个评论
采纳的回答
David Hill
2022-11-29
Not sure what you want the randomize function to do.
f= figure;
axes('Parent',f,'Position',[0.05, 0.25, 0.9, 0.7]);
x = 0.25;
y = 0.55;
plot(x,y,'d','MarkerFaceColor','m','MarkerSize',35);
hold on;
ax=gca;
ax.XLim=[0 1];
ax.YLim=[0 1];
my_button = uicontrol('style','pushbutton');
set(my_button, 'units', 'normalized', 'position', [0.05,0.05,0.3,0.15])
set(my_button, 'string','Add Point')
set(my_button, 'callback', @add_point)
my_second_button = uicontrol('style','pushbutton');
set(my_second_button, 'units', 'normalized', 'position', [0.35,0.05,0.3,0.15])
set(my_second_button, 'string', 'Clear')
set(my_second_button, 'callback', @clear)
my_third_button = uicontrol('style', 'pushbutton');
set(my_third_button, 'units', 'normalized','position', [0.65,0.05,0.3,0.15])
set(my_third_button, 'string', 'Randomize')
set(my_third_button, 'callback', @randomize);
function randomize(sender, eventdata, h)
new_point = randn(2,1);
set(h,'XData', new_point(1), 'YData', new_point(2));
end
function clear(~,~)
cla;
end
function add_point(~,~)
l='osdph><v^';
plot(rand,rand,l(randi(9)),'MarkerFaceColor',rand(1,3),'MarkerSize',35);
end
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!