Le funzioni base per il settaggio dei limiti degli assi sono:
axis([xmin xmax ymin ymax zmin zmax])
xlim([xmin xmax])
ylim([ymin ymax])
zlim([zmin zmax])
set(gca,'xlim',[xmin xmax])
set(gca,'ylim',[ymin ymax])
set(gca,'zlim',[zmin zmax])
Puoi, per esempio, chiamarle direttamente nella callback che genera il grafico.
Nello script che segue ho inserito una serie di esempi delle diverse modalità con le quali puoi settare i limiti.
Nello script, "gca" è usato per accedere al sistema di assi correnti (fai riferimento all'help di MatLab), nel tuo caso dovresti usare l'handle corrispondente della GUI.
Ho inserito dei commenti all'interno dello script che, spero, illustrino le varie modalità.
Sempre nello script ho inserito due esempi per l'uso delle funzioni
daspect
linkaxes
che potrebbero tornarti utili.
Nel caso i commenti non fossero sufficientemente chiari ... just ask ...
% Creazione di un grafico 3D di esempio
peaks
xlabel('Asse x')
ylabel('Asse y')
zlabel('Asse Z')
% Identificazione dei limiti correnti degli assi (gca ==> assi cartesiani
% correnti, in alternativa, in una GUI si può usare l'handle
% corrispndente):
curr_x_lim=get(gca,'xlim')
curr_y_lim=get(gca,'zlim')
curr_z_lim=get(gca,'zlim')
% Settaggio contemporaneo dei limiti dei tre assi, nell'ordine:
% x_min x_max; y_min y_max; z_min z_max
new_x_lim=[-6 10]
new_y_lim=[-10 5]
new_z_lim=[-10 10]
axis([new_x_lim new_y_lim new_z_lim])
% Settaggio dei limiti di uno specifico asse con le funzioni "xlim",
% "ylim", "zlim"
xlim(new_x_lim)
ylim(new_y_lim)
zlim(new_z_lim)
% Metodo alternativo, con l'uso della funzione "set"
set(gca,'xlim',new_x_lim)
set(gca,'ylim',new_y_lim)
set(gca,'zlim',new_z_lim)
% Modifica del solo limite massimo degli assi:
set(gca,'xlim',[curr_x_lim(1) new_x_lim(2)])
set(gca,'ylim',[curr_y_lim(1) new_y_lim(2)])
set(gca,'zlim',[curr_z_lim(1) new_z_lim(2)])
% Chiamata alla funzione daspect per settare la stessa scala per i tre assi
daspect([1 1 1])
% Metodo alternatico con la funzione "set"
set(gca,'dataaspectratio',[1 1 1])
% Modifica contemporanea dei limiti di due sistemi di assi, modificando
% "solo il primo dei due"
% Creazione di due sistemi di assi cartesiani e di due grafici di esempio
figure
ax_1=subplot(2,1,1)
plot([1:10],randi(10,1,10))
grid on
ax_2=subplot(2,1,2)
plot([1:10],randi(20,1,10))
grid on
% Creaziione del link tra i due assi, le modifiche apportate al primo dei
% due (specificati come parametri) vengono apportate automaticamente
% all'altro sistema si assi cartesiani
linkaxes([ax_1 ax_2])
% Settaggi del nuovo linite degli assi X
set(ax_1,'xlim',[0 15])
Hope this helps.