экспорт графика matlab в векторный формат
все время ранее я экспортировал фигуры Matlab в растровом формате (JPG, PNG)
есть ли способ экспортировать график из Matlab в векторном формате (SVG). Мне нужно, чтобы он вставил эти графики в документ LaTeX.
единственное, что я нашел до сих пор-это плагин от mathworks и ответ stackexchange , но это выглядит слишком сложно
7 ответов
есть еще matlab2tikz и matlabfrag который экспортирует в eps с аннотацией для импорта в LaTeX.
здесь пример моей, где я использовал matlabfrag.
Я также обсудил это с инженером Mathworks, который согласился, что для такого рода вещей нет хорошего и готового инструмента, потому что все хотят делать с ним разные вещи (я уже упоминаю два разных подхода LaTeX). Так что ИМО лучший что нужно сделать, так это поиграть с различными инструментами и посмотреть, что подходит вам лучше всего.
в большинстве случаев мне приходилось много возиться с осями, размером шрифта меток и т. д., Чтобы получить именно то, что я хотел (кстати, настройка легенды-это самый большой ад).
Я обычно использую оба графика Matlab в документах Latex. То, что я обычно использую .формат eps-это векторный формат, который Matlab может экспортировать довольно хорошо. Вы должны изменить его, что вы можете в MATLAB, с кодом или вручную в сюжете. Затем просто перейдите в File - > export setup и нажмите "развернуть оси для заполнения фигуры", настройте все, что хотите, и экспортируйте.eps, после этого вы можете импортировать изображение к любому основанному вектором програмному обеспечению, Inkscape или Adobe Illustrator для того чтобы сделать окончательные регулировки если нужно. Просто бамп eps в латекс, он работает идеально. Также pdflatex обычно преобразует EPS в PDF, поэтому вы можете конвертировать его в PDF раньше из Inkscape или Illustrator, если хотите сэкономить время.
для моих публикаций я сохраняю сюжет как EPS (который векторизуется), а затем делаю последние штрихи в Inkscape. Затем через Inkscape вы можете экспортировать его во что-то вроде SVG. Inkscape имеет кучу инструментов, которые удобны для очистки участка (например, упрощение путей и затенение).
вот как я сделал следующее T-S диаграмма:
в настоящее время я использую пакет FEX plot2svg для выполнения задачи, которую вы упомянули.
он довольно прост в использовании: после того, как вы добавили папку, содержащую скрипт в свой путь matlab, вы можете просто сделать
plot2svg('myplot.svg',gcf);
чтобы сохранить текущую цифру в svg. (конечно, вы можете изменить gcf
(=GetCurrentFigure) в другой дескриптор для сохранения других открытых фигур.)
действительно, это единственный способ, который я нашел для экспорта в векторные графики, созданные PDE toolbox.
.файлы eps достаточно просты для экспорта и использования с LaTeX. Я использую функцию в каждом проекте, который форматирует и сохраняет графики в проекте LaTeX. Это работает довольно легко. "Eps" в следующей строке можно изменить на любой тип изображения Matlab.
что-то типа:
figures = sort(findobj('MenuBar','figure'));
for ii = 1:length(figures)
saveas(gcf,['Figures/',num2str(ii)],'eps')
end
Я экспортировал фигуру matlab .затем eps преобразовал то же самое.png с GIMP. Оказывается, что то .png файл, полученный таким образом, имеет гораздо более высокое качество, чем.png файлы, полученные непосредственно из файла MATLAB рисунок путем экспорта или saveas вариант. Обратите внимание, что я использовал более высокое разрешение при открытии .файл eps в GIMP. Также я выбрал "масштабировать шрифты по: авто" в настройке экспорта matlab. Я использую pdf-latex
векторная графика Matlab нарушена на корневом уровне с 2014a.
Так что не утруждайте себя свичом.формат png.
Mee мой меланхолический вопрос с дальнейшими референциями в разделе Matlab Q&A: https://se.mathworks.com/matlabcentral/answers/290313-why-is-vector-graphics-chopped-into-pieces