MATLAB Answers

3D plot in appdesigner

160 views (last 30 days)
Ni2
Ni2 on 25 Oct 2019
Commented: Ke Wei Ong on 23 Aug 2020
why do i get 2D plot instead of 3D
function startupFcn(app)
cla (app.UIAxes,'reset')
hold (app.UIAxes,'on')
Pi = [0,0,0];
Pii = [4,1,0];
Piii = [1,4,0];
Piv = [1,1,3];
Pv = [1,1,0];
pts0 = [Pi;Pii];
pts1 = [Pi;Piii];
pts2 = [Pii;Piii];
pts3 = [Piv;Pv];
plot3(app.UIAxes,pts0(:,1),pts0(:,2),pts0(:,3),'Color','b')
plot3(app.UIAxes,pts1(:,1),pts1(:,2),pts1(:,3),'Color','b')
plot3(app.UIAxes,pts2(:,1),pts2(:,2),pts2(:,3),'Color','b')
plot3(app.UIAxes,pts3(:,1),pts3(:,2),pts3(:,3),'Color','r')
xlabel(app.UIAxes,'length');
ylabel(app.UIAxes,'width');
zlabel(app.UIAxes,'height');
end

  0 Comments

Sign in to comment.

Accepted Answer

Hope Q
Hope Q on 25 Oct 2019
Use the view command to set the perspective on the axes.
For example:
view(app.UIAxes,[-5 2 5])

  3 Comments

Ni2
Ni2 on 25 Oct 2019
I used it but it makes another window to pop up. And still the 3D view is missing
Abdulrasheed Afolabi
Abdulrasheed Afolabi on 6 May 2020
Thanks, it's a life saver.
Ke Wei Ong
Ke Wei Ong on 23 Aug 2020
Hi Ni2, did you find a way to plot without another pop-up window?

Sign in to comment.

More Answers (1)

Hope Q
Hope Q on 25 Oct 2019
What version are you using?
I'm using R2019b Update 1 on 64-bit Windows.
I pasted your code into a new blank App with one UIaxes.
I added the line
view(app.UIAxes,[5 2 5])
as the last line in the startupFcn. The 3D plot was in the UIAxes as expected.
3Dplot.png

  2 Comments

Ni2
Ni2 on 25 Oct 2019
Mine is 2018a on 64-bit windows and the output is unexpected.
Ni2
Ni2 on 26 Oct 2019
I just noticed mine one also work fine with view command in a single window app.
But my app is a sub app.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by