2010-09-07 12 views
14

rozważyć coś takiegorysować wykresy Matlab z ramką, kleszcze, na górnej linii wykresu

 
figure 
plot(sin(0:0.01:pi)) 
axis tight 
set(gca,'box','on','ticklength',[0.02 0.05]) 

następnie wyeksportować wykres PDF lub cokolwiek. Linie wykresu to na górze etykiet zaznaczania i osi. (Co więcej, linie osi nie spełniają się poprawnie, ale to już inna historia.)

Czy istnieje sposób (który może być zautomatyzowany), aby osie były rysowane na górze?

Odpowiedz

20

Spróbuj:

set(gca, 'Layer','top') 

według documentation page:

Warstwa

{bottom} | top 

linie osi Draw poniżej lub powyżej obiekty graficzne. Określa, czy narysować linie osi i znaczniki po u góry lub poniżej osi obiektów podrzędnych dla dowolnego widoku 2D (na przykład, gdy użytkownik patrzy wzdłuż osi X, Y lub z). Ta właściwość służy do wstawiania linii siatki i znaczników podziałki na wierzchu obrazów.

i wizualnie zobaczyć efekt (powiększony w 1200%), zapisać rysunek jako plik PDF:

alt text

Naruszenia (Warstwa = dolny):

alt text

z warstwą = góra:

alt text

+0

Wow, nie miałem pojęcia, że ​​to istnieje. Nie jestem obcy dla 'get (gca)', ale to umknęło mojej uwadze. Dzięki! –

+0

+1, rozwiązuje problem "oczekujący"! Dzięki! – zellus

Powiązane problemy