Фоновые линии появляются на переднем плане при сохранении фигуры - контур

Я новичок в Matlab, и ваша помощь будет высоко оценена.

Моя проблема проста.

Сначала я строю несколько диагональных линий, а затем строю набор данных с помощью команды «Контур» поверх таких линий. Эта матрица набора данных имеет некоторые элементы, определенные как NaN, которые не нанесены на график с помощью контураf. В результате эта часть фигуры является чистым фоном, а затем видна часть линий.

Что-то типа:

% Нарисовать диагональные линии X= linspace(4,6,3); Y = линейное пространство (4,6,3);

plot([X(1) 0],[0 Y(1)], 'Цвет','r', 'ширина линии', 1.5); подождите для i = 2: длина (X)

plot([X(i) 0],[0 Y(i)], 'Цвет','r', 'ширина линии', 1.5);

конец

% набор данных графика с некоторыми значениями NaN через контурf A = repmat(0,25*(1:49)-5,25,49,1); B = репмат(0,25*(1:49)-5,25,49,1)';

C = A.*B;

С(А>3)=NaN; удерживать контурf(A, B, C); цветовая карта

ось([-5 6 -5 7])

print('Test_plot','-dpng','-r800');


Как вы можете видеть в примере, область, которая принадлежит условию C(A>1)=NaN, полностью белая (т. е. фон), а «цветная область» нанесена поверх диагональных линий.

Отображаемое изображение - это именно то, что я хотел бы иметь при сохранении изображения в формате png. Проблема в том, что когда я сохраняю его, по каким-то причинам я его игнорирую, диагональные линии появляются поверх контурного графика. Я пытался решить проблему, сохраняя рисунок в других форматах (например, tiff), играя с альфа-каналом, перемещая линии на фон с помощью "uistack", но ничего не изменилось.

Любая помощь?

Заранее спасибо.


person AMaz    schedule 25.09.2014    source источник


Ответы (1)


Хотя это не то решение, которое я искал, способ «решить» проблему - сохранить рисунок в формате «eps», а затем преобразовать такой файл в другие.

Однако я надеюсь, что есть способ правильно сохранить его в формате png, добавив несколько командных строк.

Опять же, любая помощь приветствуется!

person AMaz    schedule 25.09.2014