Spec-Zone.ru › Octave 6

15.2.9 Печать и сохранение графиков

Команда print позволяет отправлять графики на принтер и сохранять их в различных форматах. Например,

print -dpsc

печатает текущую фигуру на цветном PostScript-принтере. И,

print -deps foo.eps

сохраняет текущую фигуру в файл encapsulated PostScript под названием foo.eps.

Текущие графические инструменты производят очень похожие графические отображения, но отличаются по возможности отображать необычный текст и по способности печатать такой текст. В общем, интерпретатор "tex" (по умолчанию) является лучшим универсальным исполнителем как для отображения на экране, так и для печати. Однако для воспроизведения сложных формул текста предпочтительнее интерпретатор "latex". Интерпретатор "latex" не отобразит символы на экране, но печатный вывод будет корректным. При печати используйте один из standalone вариантов, предоставляющих полный доступ к командам LaTeX.

Полный пример, демонстрирующий возможности печати текста с использованием опции -dpdflatexstandalone:

x = 0:0.01:3;
hf = figure ();
plot (x, erf (x));
hold on;
plot (x, x, "r");
axis ([0, 3, 0, 1]);
text (0.65, 0.6175, ...
      ['$\displaystyle\leftarrow x = {2 \over \sqrt{\pi}}' ...
       '\int_{0}^{x} e^{-t^2} dt = 0.6175$'],
      "interpreter", "latex");
xlabel ("x");
ylabel ("erf (x)");
title ("erf (x) with text annotation");
print (hf, "plot15_7", "-dpdflatexstandalone");
system ("pdflatex plot15_7");
open plot15_7.pdf

Результат этого примера можно увидеть на рисунке 15.7

extended

Рисунок 15.7: Пример включения текста с использованием опции -dpdflatexstandalone

: print ()
: print (options)
: print (filename, options)
: print (hfig, …)
: rgb = print ("-RGBImage", …)

Форматирует фигуру для печати и либо сохраняет её в файл, отправляет её на принтер, либо возвращает изображение RGB.

filename определяет имя выходного файла. Если имя файла не имеет суффикса, то он выводится из указанного устройства и добавляется к имени файла. Когда ни имя файла, ни опция "-RGBImage" не присутствуют, вывод отправляется на принтер. Различные опции и аргументы имени файла могут быть указаны в любом порядке, за исключением аргумента для ручки фигуры hfig, который должен стоять первым, если он присутствует.

Пример: Печать в файл с использованием форматов PDF и JPEG.

figure (1);
clf ();
surf (peaks);
print figure1.pdf    # The extension specifies the format
print -djpg figure1  # Will produce "figure1.jpg" file

Если первый аргумент — это обработчик hfig объекта фигуры, то он определяет фигуру для печати. По умолчанию печатается текущая фигура, возвращённая gcf.

Для вывода в страничных форматах, например, PostScript и PDF, размер страницы определяется свойством фигуры papersize вместе со свойством paperunits. Положение и размер графика на странице определяются свойством фигуры paperposition. Ориентация страницы задаётся свойством фигуры paperorientation.

Для форматов, не являющихся страницами, — например, форматов изображений, таких как JPEG, — ширина и высота вывода задаются значениями свойства фигуры paperposition(3:4).

Команда print поддерживает множество options:

-fh

Укажите маркер h фигуры, которую нужно распечатать.

Пример: Распечатать фигуру 1.

figure (1);
clf ();
surf (peaks);
figure (2);
print -f1 figure1.pdf
## Equivalent functional form:
print (1, "figure1.pdf")
-Pprinter

Установите имя printer, на которое будет отправлен график, если не указан filename.

Пример: Распечатать на принтер с именем PS_printer в формате PostScript.

clf ();
surf (peaks);
print -dpswrite -PPS_printer
-RGBImage

Возвращает M×N×3 RGB-изображение фигуры. Размер изображения зависит от параметров форматирования. Это похоже на захват экрана графика, но параметры форматирования могут быть изменены, например, разрешение или монохромность/цветность.

Пример: Получить пиксели изображения фигуры.

clf ();
surf (peaks);
rgb = print ("-RGBImage");
-opengl
-painters

Указывает, используется ли рендерер OpenGL (на основе пикселей) или Painters (на основе векторов). Это эквивалентно изменению свойства "Renderer" фигуры. Когда свойство фигуры "RendererMode" равно значению "auto" (по умолчанию), Octave будет использовать рендерер "opengl" для растровых форматов (например, JPEG) и "painters" для векторных форматов (например, PDF). Эти параметры поддерживаются только для графического набора инструментов "qt".

-svgconvert

При использовании рендерера -painters это включает другой инструмент обработки с улучшенными характеристиками:

Обработка шрифтов:

Фактический шрифт встраивается в выходной файл, что позволяет печатать произвольные символы и шрифты во всех векторных форматах.

Упрощение вывода:

По умолчанию опция -painters рендерит объекты patch и surface, используя наборы треугольников. Это может привести к артефактам антиалиасинга при просмотре файла. Опция -svgconvert реконструирует полигоны, чтобы избежать этих артефактов (особенно для 2D-графиков).

Прозрачность:

Позволяет печатать прозрачные графические объекты в формате PDF. Для форматов PostScript наличие любого прозрачного объекта приведет к растрированию вывода.

Внимание: -svgconvert может привести к неточному отображению объектов изображения.

-portrait
-landscape

Укажите ориентацию графика для печати. Для вывода, не предназначенного для печати, соотношение сторон вывода соответствует области графика, определенной свойством "paperposition" в указанной ориентации. Эта опция эквивалентна изменению свойства фигуры "paperorientation".

-fillpage
-bestfit

При использовании страничного формата (PDF, PostScript, принтер) игнорируйте свойство "paperposition" и позвольте графику занимать всю страницу. Опция -fillpage растянет график для заполнения страницы с отступами 0,25 дюйма со всех сторон. Опция -bestfit позволит графику занимать как можно больше места на странице без искажения исходного соотношения сторон графика.

-color
-mono

Цветной или монохромный вывод.

-solid
-dashed

Принудительно делает все линии сплошными или пунктирными соответственно.

-noui

Не печатать объекты uicontrol, такие как кнопки, которые могут накладываться на график. Это поведение по умолчанию, и объекты uicontrol нельзя включить в выходной файл без использования внешнего инструмента захвата экрана.

-rNUM

Разрешение растровых изображений в точках на дюйм (DPI). Для метафайлов и SVG по умолчанию используется разрешение экрана; для других форматов по умолчанию используется 150 DPI. Чтобы указать разрешение экрана, используйте "-r0".

Пример: вывод растрового изображения высокого разрешения.

clf ();
surf (peaks (), "facelighting", "gouraud");
light ();
print ("-r600", "lit_peaks.png");
-Sxsize,ysize

Размер графика в пикселях для растровых форматов, включая PNG, JPEG, PNG и необычно SVG. Для всех векторных форматов, включая PDF, PS и EPS, размер графика указывается в пунктах. Эта опция эквивалентна изменению ширины и высоты вывода путем установки свойства фигуры paperposition(3:4). При использовании командной формы функции print необходимо заключить опцию xsize,ysize в кавычки, чтобы предотвратить распознавание встроенной запятой (’,’) интерпретатором Octave. Например, написав "-S640,480".

-tight
-loose

Принудительное использование узкой или широкой рамки для EPS-файлов. По умолчанию используется узкая рамка.

-preview

Добавить предварительный просмотр к EPS-файлам. Поддерживаемые форматы:

-interchange

Предоставление предварительного просмотра обмена.

-metafile

Предоставление предварительного просмотра метафайла.

-pict

Предоставление предварительного просмотра pict.

-tiff

Предоставление предварительного просмотра TIFF.

-append

Добавить выходной файл PostScript или PDF к существующему файлу того же типа.

-Ffontname
-Ffontname:size
-F:size

Использовать fontname и/или fontsize для всего текста. fontname игнорируется для некоторых устройств: fig и т.д.

-ddevice

Доступный формат вывода задается опцией device и может быть одним из следующих (устройства, отмеченные '*' доступны только с набором инструментов Gnuplot):

Векторные форматы

svg

Scalable Vector Graphics.

pdf
pdfcrop

Portable Document Format. Устройство pdf форматирует фигуру для печати на бумаге. Размер окружающих страниц и положение фигуры на странице определяются свойствами paper* figure.

Используйте pdfcrop, если не нужно окружающая страница.

По умолчанию PDF наследует те же ограничения, что и PostScript. Для улучшенного вывода с полной поддержкой текста и базовой прозрачностью используйте опцию -svgconvert.

eps(2)
epsc(2)

Encapsulated PostScript (уровни 1 и 2, монохромный и цветной).

Графические наборы инструментов на основе OpenGL всегда генерируют PostScript уровня 3.0. Они имеют ограниченную поддержку текста, если не используется опция -svgconvert. Ограничения включают использование только символов ASCII (например, нет греческих букв) и поддержку только трех основных шрифтов PostScript: Helvetica (по умолчанию), Times или Courier. Любой другой шрифт будет заменен на Helvetica.

ps(2)
psc(2)

То же, что и eps, за исключением того, что фигура форматируется для печати на бумаге. Размер окружающих страниц и положение фигуры на странице определяются свойствами paper* figure.

pslatex
epslatex
pdflatex
pslatexstandalone
epslatexstandalone
pdflatexstandalone

Создайте файл LaTeX filename.tex для текстовых частей графика и файл filename.(ps|eps|pdf) для остальной графики. Суффикс графического файла .ps|eps|pdf определяется типом указанного устройства. Файл LaTeX, созданный с опцией «standalone», может быть обработан напрямую LaTeX. Файл, созданный без опции «standalone», предназначен для включения из другого документа LaTeX. В любом случае файл LaTeX содержит команду \includegraphics, чтобы сгенерированный графический файл автоматически включался при обработке файла LaTeX. Текст, записанный в файл LaTeX, содержит строки точно так, как они были указаны в графике. Если использовались какие-либо специальные символы интерпретатора режима TeX, файл необходимо отредактировать перед обработкой LaTeX. В частности, специальные символы должны быть заключены в знаки доллара ($ … $), а другие символы, распознаваемые LaTeX, также могут потребовать редактирования (например, фигурные скобки).

Устройства «pdflatex» и любые из форматов «standalone» недоступны с набором инструментов Gnuplot.

epscairo*
pdfcairo*
epscairolatex*
pdfcairolatex*
epscairolatexstandalone*
pdfcairolatexstandalone*

Создайте вывод с помощью Cairo-рендерера. Устройства epscairo и pdfcairo являются синонимами устройства epsc. Варианты LaTeX генерируют файл LaTeX, filename.tex, для текстовых частей графика и файл изображения, filename.(eps|pdf), для графической части графика. Варианты «standalone» ведут себя так же, как описано для «epslatexstandalone» выше.

canvas*

Отрисовка на основе JavaScript на HTML5-холсте, отображаемом в веб-браузере.

emf
meta

Microsoft Enhanced Metafile

fig

XFig. Для графического набора инструментов Gnuplot дополнительные опции -textspecial или -textnormal (по умолчанию) могут использоваться для управления тем, устанавливается ли специальный флаг для текста на графике.

latex*
eepic*

Окружение LaTeX picture и расширенное окружение picture.

tikz
tikzstandalone*

Создайте файл LaTeX в формате PGF/TikZ. Графические наборы инструментов на основе OpenGL создают файл PGF, а Gnuplot создает файл TikZ. Устройство «tikzstandalone» генерирует документ LaTeX, который включает файл TikZ.

Растровые форматы

png

Portable Network Graphics

jpg
jpeg

JPEG-изображение

tif
tiff
tiffn

TIFF-изображение с LZW-сжатием (tif, tiff) или без сжатия (tiffn).

gif

GIF-изображение

pbm

PBMplus

dumb*

ASCII-графика

Если устройство опущено, оно определяется по расширению файла, или если имя файла отсутствует, то вывод отправляется на принтер в формате PostScript.

-dghostscript_device

Ghostscript поддерживает дополнительные устройства. Некоторые примеры:

ljet2p

HP LaserJet IIP

pcx24b

Формат файлов PCX с 24-битным цветом

ppm

Формат файлов Portable Pixel Map

Для получения полного списка доступных форматов и устройств, введите system ("gs -h").

Когда вывод Ghostscript отправляется на принтер, размер определяется свойством "papersize" фигуры. При отправке вывода в файл размер определяется областью построения, определённой свойством "paperposition" фигуры.

-Gghostscript_command

Укажите команду для вызова Ghostscript. Для Unix по умолчанию это "gs", а для Windows — "gswin32c".

-TextAlphaBits=n
-GraphicsAlphaBits=n

Octave может генерировать вывод для различных принтеров, растровых и векторных форматов с помощью Ghostscript. Для растрового и принтерного вывода применяется антиалиасинг с использованием опций Ghostscript TextAlphaBits и GraphicsAlphaBits. По умолчанию количество битов составляет 4 и 1 соответственно. Допустимые значения для N — 1, 2 или 4.

См. также: saveas, getframe, savefig, hgsave, orient, figure.

: saveas (h, filename)
: saveas (h, filename, fmt)

Сохранить графический объект h в файл filename в графическом формате fmt.

Могут использоваться все форматы устройств, поддерживаемые print. Общие форматы:

ps

PostScript

eps

Encapsulated PostScript

pdf

Portable Document Format

jpg

Изображение JPEG

png

Изображение Portable Network Graphics

emf

Расширенный метафайл

tif

Сжатое изображение TIFF

Если fmt опущен, он извлекается из расширения filename. По умолчанию формат, когда нет расширения, это "pdf".

clf ();
surf (peaks);
saveas (1, "figure1.png");

См. также: print, hgsave, orient.

: orient (orientation)
: orient (hfig, orientation)
: orientation = orient ()
: orientation = orient (hfig)

Запрос или установка ориентации печати для фигуры hfig.

Допустимые значения для orientation — "portrait", "landscape", и "tall".

Опция "landscape" изменяет ориентацию, чтобы ширина графика была больше высоты графика. Также изменяется "paperposition", чтобы график заполнял страницу, оставляя границу шириной 0,25 дюйма.

Опция "tall" устанавливает ориентацию в "portrait" и заполняет страницу графиком, оставляя границу шириной 0,25 дюйма.

Опция "portrait" (по умолчанию) изменяет ориентацию, чтобы высота графика была больше ширины графика. Она также восстанавливает свойство по умолчанию "paperposition".

При вызове без аргументов возвращает текущую ориентацию печати.

Если аргумент hfig опущен, то выполняется операция над текущей фигурой, возвращённой gcf.

См. также: print, saveas.

print и saveas используются, когда работа над графиком завершена и вывод должен быть в формате, готовом для публикации. На промежуточных этапах часто лучше сохранять графический объект и всю связанную с ним информацию, чтобы изменения — цвета, пределы осей, стили маркеров и т. д. — можно было легко вносить непосредственно в Octave. Команды hgsave/hgload могут использоваться для сохранения и повторного создания графического объекта.

: hgsave (filename)
: hgsave (h, filename)
: hgsave (h, filename, fmt)

Сохранить графические маркеры h в файл filename в формате fmt.

Если не указано, h — текущая фигура, возвращённая gcf.

Если в filename нет расширения, будет добавлено расширение по умолчанию .ofig.

Если присутствует, fmt должен быть одним из следующих:

  • -binary, -float-binary
  • -hdf5, -float-hdf5
  • -V7, -v7, -7, -mat7-binary
  • -V6, -v6, -6, -mat6-binary
  • -text
  • -zip, -z

По умолчанию формат — -binary, чтобы минимизировать объём.

Примечание для программистов: при создании графиков для окончательной публикации используйте print или saveas. Если важно иметь возможность продолжать редактирование фигуры как объекта Octave, используйте hgsave/hgload.

См. также: hgload, hdl2struct, savefig, saveas, print.

: h = hgload (filename)
: [h, old_prop] = hgload (filename, prop_struct)

Загрузить графические объекты из filename в вектор графических маркеров h.

Если в filename нет расширения, Octave попытается найти файл с и без расширения по умолчанию .ofig.

Если задана структура prop_struct, её элементы будут использованы для переопределения свойств объектов верхнего уровня, сохранённых в filename, а сохранённые значения из filename будут сохранены в old_prop. old_prop — массив ячеек, соответствующий размеру h; каждая ячейка содержит структуру с именами и значениями существующих свойств до переопределения.

См. также: openfig, hgsave, struct2hdl.

: openfig
: openfig (filename)
: openfig (…, copies)
: openfig (…, visibility)
: h = openfig (…)

Прочитать сохранённое(ые) окно(а) фигуры из filename и вернуть графический(ие) маркер(ы) h.

По умолчанию filename — "Untitled.fig". Если полный путь не указан, открывается первый файл, найденный в пути загрузки. Если filename не найден и не имеет расширения, произойдёт поиск первого файла в пути загрузки с расширением ".fig" или ".ofig", в указанном порядке.

copies — необязательный параметр, указывающий, следует ли создать новую фигуру ("new") или можно ли повторно использовать существующую фигуру ("reuse"). Существующую фигуру можно повторно использовать, если свойство "FileName" соответствует заданному вводу filename. При повторном использовании фигуры она становится активной и отображается поверх других фигур. Если фигура была вне экрана, она переместится на экран. Значение по умолчанию для copies — "new".

visibility — необязательный параметр, указывающий, следует ли отображать фигуру ("visible") или нет ("invisible"). Когда visibility задан как вход openfig, он переопределяет настройку видимости, сохранённую в filename.

См. также: open, hgload, savefig, struct2hdl.

: savefig ()
: savefig (h)
: savefig (filename)
: savefig (h, filename)
: savefig (h, filename, "compact")

Сохранить окна фигур, указанных графическим маркером(ами) h, в файл filename.

Если не указано, h — текущая фигура, возвращённая gcf.

Если не указано, filename установлен в "Untitled.fig". Если filename не имеет расширения, будет добавлено расширение по умолчанию ".fig".

Если необязательный третий вход "compact" присутствует, данные будут сжаты, чтобы сэкономить место.

См. также: hgsave, hdl2struct, openfig.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Printing-and-Saving-Plots.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API