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

7 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
the cyclist
the cyclist on 18 Aug 2013
Can you post a self-contained example that we can run that shows what you mean, in context?
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
Md Nafiul Islam
Md Nafiul Islam on 21 Dec 2017
Dear, I have used the same code and I draw the line but I need two line of the same graph. Do anyone help me how I update this code to two line. TIA

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!