3D plot view changing in loop

I'm using a subplot to plot 6 3D figures using a loop. I set view(3) in my code and this works for the first figure but as the other figures come, they all tend to look more 2-D. This doesn't happen if I use a function to call all 6 individually but that isn't possible for my code. Another thing is that the figures all look as they should if I maximise the plot window.
function plot_fig123(n,X,Y,header)
load('terrain.mat')
subplot(2,3,n)
h = interp2(x_terrain,y_terrain,h_terrain,X,Y);
hold on;
plot3(X,Y,h,'ko','MarkerFaceColor','k','MarkerEdgeColor','k','MarkerSize',1);
plot3(X(end),Y(end),h(end),'ro',MarkerFaceColor='r')
surf(x_terrain, y_terrain, h_terrain);
colormap('jet'); shading interp;
title(header)
grid on; xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)');
view(3);
set(gca, 'LineWidth', 2, 'FontSize', 10, ...
'Xtick',-150:50:150, 'Ytick', -150:50:100, 'Ztick',-200:50:0)
end

6 Commenti

subplot(3,2,n) % chage the layout of subplot
view([90 0]);%try with view angle or previous value view(3)
This is for a assignment so I cannot change the layout of the subplot as its required. View([90 0]) doesn't give me the right view either
AndresVar
AndresVar il 31 Mag 2022
@AGASTHYA VALLURI does it look normal if you just make the figure bigger?
Nope there was no effect, I set the default figure size as fullscreen and maximum but it still behaves the same way. But becomes the desirable output if I close and reopen the window
Arun
Arun il 12 Ott 2023
Modificato: Arun il 12 Ott 2023
try:
view(ax1,3); title(ax1,'view(0,90)');
Can you please provide your terrain.mat file? And the code that calls your function too if possible. It's hard for people to help if we can't run your code ourselves...

Accedi per commentare.

Risposte (0)

Categorie

Prodotti

Release

R2022a

Richiesto:

il 31 Mag 2022

Commentato:

il 14 Ott 2023

Community Treasure Hunt

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

Start Hunting!

Translated by