Sto provando ad avere una casella di testo in MATLAB su un grafico a rotazione, ma non voglio che la casella di testo cambi la sua posizione rispetto alla figura. Ho pensato che lo 'units','normalized'
nella funzione text
lo farebbe, ma non funziona abbastanza, come illustrato nell'esempio seguente. Suppongo che potrei usare uicontrol
ma mi piacerebbe usare le lettere greche e non riesco a ottenere uicontrol
con un bell'aspetto come text
. L'esempio seguente ricrea il mio problema. Noterai che la casella di testo si sposta mentre la trama gira, ma mi piacerebbe che rimanesse nella zona in alto a sinistra dove inizia. Grazie!Casella di testo MATLAB in una posizione costante in cima alla trama 3D a rotazione?
part_x = rand(1000,3)-.5; %generate random 3D coordinates to scatter
fig1 = figure;
scatter3(part_x(:,1), part_x(:,2), part_x(:,3))
axis equal vis3d
axis([-1 1 -1 1 -1 1])
set(fig1,'color','w')
for tau = 1:150
view(tau+20,30); %spin the plot
pause(.01)
if tau~=1; delete(tau_text); end; %delete the previous text if it exists
tau_text = text(.1,.7,...
['\tau = ',num2str(tau)],...
'units','normalized',... %text coordinates relative to figure?
'Margin',3,... %these last 3 lines make it look nice
'edgecolor','k',...
'backgroundcolor','w');
end
+1 ad esempio riproducibile –