Нарисуйте графики Matlab с рамкой, тиками, поверх линий графика

Рассмотрим что-то вроде

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

затем экспортируйте график в PDF или что угодно. Линии графа находятся поверх ярлыков меток и осей. (Кроме того, линии осей не соответствуют правильно, но это другая история.)

Есть ли способ (который может быть автоматизирован), чтобы оси были сверху?

Ответы

Ответ 1

Try:

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

в соответствии с страница документации:

Слой

{bottom} | top

Нарисуйте оси линии ниже или выше графических объектов. Определяет, рисовать оси и отметки на верхние или нижние оси объектов для детей любое двумерное представление (например, когда вы смотрят вдоль x, y- или ось г). Используйте это свойство для размещения линии сетки и отметки в верхней части изображения.

и визуально увидеть эффект (увеличен на 1200%), я сохраняю его как файл PDF:

alt text

По умолчанию (Layer = bottom):

alt text

с Layer = top:

alt text