Я новичок в 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", но ничего не изменилось.
Любая помощь?
Заранее спасибо.