Help writing a function for a gui
조회 수: 1 (최근 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에서 Bar Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!