2013-07-24 15 views

Odpowiedz

3

Może spróbuj legendflex z wymiany plików, wygląda na to, że może zrobić to, co chcesz.

4

jeśli chcesz tylko użyć standardowego Matlaba, potrzebujesz uchwytu podpoziomu, a następnie potrzebujesz jego pozycji. Następnie ustawia się położenie legendy na pozycję podpoziomu. Nawiązując do docs:

Uwaga Można ustawić lokalizację legendy przekazując 4-elementowy wektor położenia do funkcji legendy za pomocą opcji „siedziba”. Aby zdefiniować pozycję istniejącej legendy, użyj funkcji set, aby przypisać 4-elementowy wektor pozycji do właściwości "Position". Nie można korzystać z opcji lokalizacji z ustawionej funkcji

na przykład:

subplot(2,3,1), plot(1:10,2:11) 
myLegend=legend('text1') 
set(myLegend,'Units', 'pixels') 
myOldLegendPos=get(myLegend,'Position') 
hold on 
h=subplot(2,3,6) 
set(h,'Units', 'pixels') 
myPosition=get(h,'Position') 
set(myLegend,'Position',[myPosition(1) myPosition(2) myOldLegendPos(3) myOldLegendPos(4)]) 
+2

Ta metoda nie działa dla mnie. Jeśli skopiuję/wkręciłem powyższy kod w R2012b, legenda nie pojawi się nigdzie na rysunku. Powód jest taki, że drugi pusty wątek "obejmuje" legendę. Należy dodać linię 'set (h, 'Visible', 'off')' na końcu, aby legenda była widoczna. –

+0

Lub użyj 'legend' z 'Location' ustawionym na wektor' [Position_Right_in_pct, Position_Top_in_pct, Horizontal_Stretch Vertical_Stretch] ' Zobacz http://stackoverflow.com/a/35696869/3494126 – Ufos

Powiązane problemy