Próbuję mieć pole tekstowe w MATLABU na wirującym wykresie, ale nie chcę, aby pole tekstowe zmieniło swoją pozycję względem figury. Pomyślałem, że funkcja 'units','normalized'
w funkcji text
to zrobi, ale nie działa tak, jak pokazuje poniższy przykład. Przypuszczam, że mógłbym użyć uicontrol
, ale chciałbym użyć greckich liter i nie mogę uzyskać uicontrol
wyglądającego tak dobrze jak text
. Poniższy przykład odtwarza mój problem. Zauważysz, że pole tekstowe przesuwa się, gdy wykres się kręci, ale chciałbym, aby po prostu pozostał w lewym górnym obszarze, w którym się zaczyna. Dziękuję Ci!Pole tekstowe MATLAB w stałej pozycji na górze wirującego wykresu 3D?
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 dla powtarzalnego przykład –