Поскольку MATLAB изменил свой движок фигур в R2014b, я решил перезапустить часть своего кода, чтобы получить из них более привлекательные фигуры. К сожалению, последнее, что у меня есть, — это код, который требует много времени для запуска, и я бы очень хотел избежать повторного запуска кода для более приятной фигуры.
Я сохранил результат в файле .fig
в R2013b. Однако, если я открою его в R2014b, он все еще будет иметь старый формат.
Можно ли перерисовать фигуру с помощью графического движка MATLAB R2014b? Если это так, как я могу это сделать?
ПРИМЕЧАНИЕ: Фигура буквально открывается и рисуется новым движком, однако сохраняет свой старый формат. В то время как новая фигура с командой title()
нарисует хороший большой жирный заголовок, если перерисовать эту фигуру с помощью «drawnow» или я сгенерирую для нее код, формат останется прежним.
Пример. Этот рисунок был создан в 2013 году и перерисован в 2014 году. Вы можете видеть, что заголовок не отображается в том же формате, что и title('whatever')
в новых графических маркерах. Похоже, что '.fig' сохраняет и устанавливает значения по умолчанию для сгенерированной версии. Таким образом, цвета графиков, заголовки, метки и т. д. при перерисовке будут выглядеть как старые графические маркеры.
Это можно проверить с помощью следующего кода. Обратите внимание, что это слишком упрощенная проблема, вопрос явно не о заголовках или метках, а обо всем графическом материале в целом.
rng(1)
figure()
x = 1:50;
y = rand(1, 50);
plot(x,y)
title('this NICE Title')
xlabel('labels!')
ylabel('some other labels','Interpreter','Latex')
Если этот код запустить в 2013b и 2014b, сохранить как fig в обоих, а затем открыть как fig в обоих, появятся следующие 2 рисунка:
Фиговый файл 2013b: http://s000.tinyupload.com/index.php?file_id=02053933004513599550
drawnow
ничего не делает? Кроме того, это простой сюжет (выводplot
илиscatter
?). Если это так, вы можете довольно легкоget
вывести данные из рисунка. (Контуры или что-то в этом роде - не так просто). - person nkjt   schedule 07.11.2014copyobj
? Что-то вроде этого: stackoverflow.com/a/4010043/97160 - person Amro   schedule 08.11.2014hgload
сделать фигуру, а затем использоватьcopyobj
для создания из нее новой копии в надежде, что она будет отрисована с помощью новой графической системы... В любом случае, я только что попытался воспроизвести проблему на своем конец, и я не мог; Я использовал простой график, сохраненный в R2014a, а затем загрузил его в файл FIG в R2014b, и он был отрендерен с новой графикой (сглаженные линии, новые цвета и все такое)... Можете ли вы поделиться исходным файлом FIG, который вызывает проблема, или хотя бы создать более простой, который демонстрирует проблему? - person Amro   schedule 11.11.2014File -> Generate Code...
. Это даст вам m-файл, который воспроизводит сюжет, включая цвета и шрифты, использованные при его сохранении. Затем вы можете удалить строки, относящиеся к размерам и цветам шрифта, и запустить m-файл. Не могу проверить это сам, потому что у меня нет под рукой старой копии MATLAB. - person transversality condition   schedule 08.08.2015