Spec-Zone.ru › Octave 5

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

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

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

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

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

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

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

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

-svgconvert

Для графических пакетов на основе OpenGL это позволяет использовать другую инструментальную цепочку с улучшенными характеристиками. Инструментальная цепочка добавляет поддержку печати произвольных символов и шрифтов в выходных файлах PDF; она избегает некоторых артефактов анти-алиасинга при отрисовке объектов patch и surface (особенно для 2-мерных сцен); и она поддерживает прозрачность линий, объектов patch и surface.

Этот параметр влияет только на выходные файлы PDF, если он не объединен с параметром -painters, в этом случае затронуты также растровые выходы.

Предупреждение: -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".

-loose
-tight

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

-preview

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

-interchange

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

-metafile

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

-pict

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

-tiff

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

-append

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

-Ffontname
-Ffontname:size
-F:size

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

-ddevice

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

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

pdf
pdfcrop

Формат Portable Document Format. Устройство pdfcrop удаляет стандартные окружающие страницы.

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

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

ps
ps2
psc
psc2

PostScript (уровень 1 и 2, монохромный и цветной). Графические пакеты на основе OpenGL всегда генерируют PostScript уровня 3.0 и имеют ограниченную поддержку текста.

eps
eps2
epsc
epsc2

Encapsulated PostScript (уровень 1 и 2, монохромный и цветной). Графические пакеты на основе OpenGL всегда генерируют PostScript уровня 3.0 и имеют ограниченную поддержку текста.

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» выше.

svg

Scalable Vector Graphics

canvas*

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

cdr*
corel*

CorelDraw

cgm*

Computer Graphics Metafile, Версия 1, ANSI X3.122-1986

dxf

AutoCAD

emf
meta

Microsoft Enhanced Metafile

fig

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

hpgl

Язык HP plotter

ill
aifm

Adobe Illustrator (устарело для версий Gnuplot > 4.2)

latex*
eepic*

Окружение LaTeX для рисунков и расширенное окружение для рисунков.

mf*

Metafont

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").

При выводе в принтер размер определяется свойством фигуры "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, hgsave, getframe, orient, figure.

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

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

Можно использовать все форматы устройств, поддерживаемые print. Распространённые форматы:

ps

PostScript

eps

Встроенный PostScript

pdf

Формат Portable Document

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 и вернуть дескриптор(ы) графического(иx) объекта(ов) 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")

Сохранить окна фигур, заданных дескрипторами(ами) графического(иx) объекта(ов) 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/v5.2.0/Printing-and-Saving-Plots.html

Spec-Zone.ru

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