MATLAB GUI axes(handles.axes1) does not work?

21 views (last 30 days)
Tina
Tina on 18 Aug 2013
Commented: Walter Roberson on 21 Dec 2017
Hello;
I have this simple code that is supposed to draw the line having its slope and y intercept. But when I use axes(handles.axes1);
nothing happens. What should I do?
  2 Comments
Tina
Tina on 18 Aug 2013
Edited: Image Analyst on 19 Aug 2013
The GUI has a, b, c as edit text. When Solve push button is pressed, it should draw ax+by=c line on axes1.
function solve_Callback(hObject, eventdata, handles)
% hObject handle to solve (see GCBO)
% eventdata reserved - to be defined in atext future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a=str2num(get(handles.a,'String'));
b=str2num(get(handles.b,'String'));
c=str2num(get(handles.c,'String'));
int=num2str(c/b);
slope=num2str(-a/b);
set(handles.y,'String',int)
set(handles.slope,'String',slope)
x=0:10;
y=c/b-a/b*x;
axes(handles.axes1);
xlabel('x');
ylabel('y');
guidata(hObject,handles);

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 19 Aug 2013
axes() just switches focus to that particular axes control. It does not actually do any plotting at all. For that you'll need to use the plot() function
plot(x, y, 'bo-', 'LineWidth', 2, 'MarkerSize', 10);
grid on;
axis on;
ylabel('Y', 'FontSize', 30);
xlabel('X', 'FontSize', 30);
  4 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by