exportgraphics

Сохраните график или графическое содержимое к файлу

Описание

пример

exportgraphics(obj,filename) сохраняет содержимое графического объекта, заданного obj к файлу. Графический объект может быть любым типом осей, фигуры, графика, который может быть дочерним элементом фигуры, мозаичного размещения графика или контейнера в фигуре. Получившаяся диаграмма плотно обрезается к тонкому полю, окружающему ваше содержимое.

пример

exportgraphics(obj,filename,Name,Value) задает дополнительные опции для того, чтобы сохранить файл. Например, exportgraphics(gca,'myplot.jpg','Resolution',300) сохраняет содержимое текущей системы координат как файл изображения с 300 DPI.

Примеры

свернуть все

Постройте график и получите текущую систему координат. Затем сохраните содержимое осей как файл JPEG.

plot(rand(5,5))
ax = gca;
exportgraphics(ax,'LinePlot.jpg')

Отобразите изображение и получите текущую систему координат. Затем сохраните содержимое осей как файл JPEG с 300 DPI.

I = imread('peppers.png');
imshow(I)
ax = gca;
exportgraphics(ax,'Peppers300.jpg','Resolution',300)

Отобразите график с аннотацией, которая расширяет вне границ осей. Сохраните содержимое фигуры как файл PDF.

plot(1:10)
annotation('textarrow',[0.06 0.5],[0.73 0.5],'String','y = x ')
f = gcf;
exportgraphics(f,'AnnotatedPlot.pdf')

Отобразите столбчатую диаграмму и получите текущую систему координат. Затем сохраните содержимое осей как PDF, содержащий только векторную графику.

bar([10 22 31 43])
ax = gca;
exportgraphics(ax,'BarChart.pdf','ContentType','vector')

Отобразите два графика в мозаичном размещении графика. Затем сохраните оба графика как PDF путем передачи TiledChartLayout возразите против exportgraphics функция.

t = tiledlayout(2,1);
nexttile
plot([1 2 3])
nexttile
plot([3 2 1])
exportgraphics(t,'Layout.pdf')

Если вы хотите сохранить только один из графиков в размещении, вызовите nexttile функция с возвращаемым аргументом осей. Затем передайте оси exportgraphics функция.

Отобразите график тепловой карты. Затем сохраните график как PDF, содержащий только векторную графику с прозрачным фоном.

h = heatmap(rand(10,10));
exportgraphics(h,'Hmap.pdf','BackgroundColor','none','ContentType','vector')

Создайте программный файл под названием saveapp.m это отображает график и кнопку для сохранения содержимого осей. В функции обратного вызова для кнопки вызовите uiputfile функционируйте, чтобы предложить пользователю имя файла и местоположение. Затем вызовите exportgraphics функция с полным путем к заданному файлу.

function saveapp
f = uifigure;
ax = uiaxes(f,'Position',[25 25 400 375]);
plot(ax,[0 0.3 0.1 0.6 0.4 1])
b = uibutton(f,'Position',[435 200 90 30],'Text','Save Plot');
b.ButtonPushedFcn = @buttoncallback;

    function buttoncallback(~,~)
        filter = {'*.jpg';'*.png';'*.tif';'*.pdf';'*.eps'};
        [filename,filepath] = uiputfile(filter);
        if ischar(filename)
            exportgraphics(ax,[filepath filename]);
        end
    end
end

Запустите приложение путем вызова saveapp функция. Когда вы нажимаете кнопку Save Plot в приложении, диалоговое окно предлагает вам имя файла и местоположение. Затем содержимое осей сохранено в заданном файле. Область, окружающая оси, включая кнопку, не включена в файл.

saveapp

Входные параметры

свернуть все

Графический объект в виде одного из этих объектов:

  • Любой тип осей: Axespolaraxes, или GeographicAxes объект.

  • Фигура создала с любым figure или uifigure функция.

  • График, который может быть дочерним элементом фигуры. Например, heatmap график может быть дочерним элементом фигуры.

  • Мозаичное размещение графика, которое вы создаете с tiledlayout функция.

  • Контейнер в фигуре: Panel, Tab, или ButtonGroup объект.

Получите область

exportgraphics получает содержимое объекта, который вы задаете. Это не получает компоненты пользовательского интерфейса, такие как кнопки или ползунки.

Это также не получает смежные контейнеры или дочерние контейнеры. Например, рассмотрите фигуру, содержащую линейный график со смежной панелью, содержащей тепловую карту:

f = figure;
ax = axes(f,'Position',[0.1 0.1 0.4 0.8]);
plot(ax,[0 1])
p = uipanel(f,'Position',[0.55 0.1 0.4 0.8]);
heatmap(p,rand(10,5))

exportgraphics(f,'myfigure.png')
exportgraphics(p,'mypanel.png')

Когда вы запускаете предыдущий код, myfigure.png содержит линейный график, но не тепловую карту. Точно так же mypanel.png содержит тепловую карту, но не линейный график.

Имя файла в виде вектора символов или строкового скаляра, который включает расширение файла. Если filename не включает полный путь, MATLAB® сохранил файл в текущей папке. У вас должно быть разрешение записать в файл.

В следующей таблице перечислены поддерживаемые форматы файлов и расширения файла (которые не являются чувствительными к регистру).

FileFormat Расширение файла

Формат графических данных JPEG (JPEG)

'jpg' или 'jpeg'

Переносимая сетевая графика (PNG)

'png'

Теговый формат графических файлов (TIFF)

'tif' или 'tiff'

Формат переносимых документов (PDF)

PDF включает встраиваемые шрифты когда ContentType установлен в 'vector'.

'pdf'

Расширенный Метафайл для систем Windows® только (EMF)

'emf'

Инкапсулированный PostScript® (EPS)

'eps'

Пример: exportgraphics(gca,'myfile.jpg') сохраняет содержимое текущей системы координат к файлу JPEG под названием myfile.jpg.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: exportgraphics(gca,'myplot.jpg','Resolution',300) сохраняет содержимое текущей системы координат к файлу изображения с 300 DPI.

Тип содержимого, чтобы сохранить при сохранении как EMF, EPS или файл PDF. Задайте значение как одну из этих опций:

  • 'auto' — MATLAB управляет, является ли содержимое векторным изображением или изображением.

  • 'vector' — Хранит содержимое как векторное изображение, которое может масштабироваться к любому размеру. Если вы сохранили файл PDF, встраиваемые шрифты включены в файл.

  • 'image' — Растеризирует содержимое в одно или несколько изображений в файле.

Примечание

'vector' опция не поддержана для JPEG, TIFF и файлов PNG.

Разрешение в точках на дюйм (DPI) в виде целого числа, которое больше или равно 1.

Определение разрешения не оказывает влияния когда ContentType isvector.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Цвет фона в виде 'current''none', триплет RGB, шестнадцатеричный цветовой код или название цвета. Цвет фона управляет цветом поля, которое окружает оси или график.

  • Значение 'current' выбирает цвет фона к цвету родительского контейнера.

  • Значение 'none' выбирает цвет фона к прозрачному или белому, в зависимости от формата файла и значения ContentType:

    • Прозрачный — Для файлов с ContentType='vector'

    • Белый — Для файлов изображений, или когда ContentType='image'

    • Когда ContentType='auto', MATLAB выбирает цвет фона согласно эвристике, которую это использует, чтобы определить содержимое типа, чтобы сохранить.

  • В качестве альтернативы задайте пользовательский цвет или именованный цвет.

Пользовательские цвета и именованные цвета

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Альтернативная функциональность

Наведение на кнопку Export на панели инструментов осей показывает выпадающее меню с опциями для экспорта содержимого:

  • : Сохраните содержимое как плотно кадрированное изображение или PDF.

  • : Скопируйте содержимое как изображение.

  • : Скопируйте содержимое как векторное изображение.

Смотрите также

Введенный в R2020a