Mercurial > octave
view scripts/plot/util/private/__gnuplot_draw_axes__.m @ 22755:3a2b891d0b33
maint: Standardize Copyright formatting.
* Makefile.am, README, build-aux/check-subst-vars.in.sh,
build-aux/find-files-with-tests.sh, build-aux/mk-builtins.sh,
build-aux/mk-default-qt-settings.in.sh, build-aux/mk-f77-def.in.sh,
build-aux/mk-hg-id.sh, build-aux/mk-mxarray-h.in.sh,
build-aux/mk-octave-config-h.sh, build-aux/mk-opts.pl,
build-aux/mk-version-h.in.sh, build-aux/subst-config-vals.in.sh,
build-aux/subst-cross-config-vals.in.sh, build-aux/subst-default-vals.in.sh,
build-aux/subst-f77-isnan-macro.in.sh, build-aux/subst-script-vals.in.sh,
configure.ac, doc/interpreter/arith.txi, doc/interpreter/audio.txi,
doc/interpreter/basics.txi, doc/interpreter/bugs.txi,
doc/interpreter/container.txi, doc/interpreter/cp-idx.txi,
doc/interpreter/data.txi, doc/interpreter/debug.txi,
doc/interpreter/diagperm.txi, doc/interpreter/diffeq.txi,
doc/interpreter/errors.txi, doc/interpreter/eval.txi, doc/interpreter/expr.txi,
doc/interpreter/external.txi, doc/interpreter/fn-idx.txi,
doc/interpreter/func.txi, doc/interpreter/genpropdoc.m,
doc/interpreter/geometry.txi, doc/interpreter/geometryimages.m,
doc/interpreter/grammar.txi, doc/interpreter/gui.txi,
doc/interpreter/image.txi, doc/interpreter/install.txi,
doc/interpreter/interp.txi, doc/interpreter/interpimages.m,
doc/interpreter/intro.txi, doc/interpreter/io.txi, doc/interpreter/linalg.txi,
doc/interpreter/macros.texi, doc/interpreter/matrix.txi,
doc/interpreter/mk-doc-cache.pl, doc/interpreter/mkoctfile.1,
doc/interpreter/nonlin.txi, doc/interpreter/numbers.txi,
doc/interpreter/obsolete.txi, doc/interpreter/octave-cli.1,
doc/interpreter/octave-config.1, doc/interpreter/octave.1,
doc/interpreter/octave.css, doc/interpreter/octave.texi,
doc/interpreter/oop.txi, doc/interpreter/op-idx.txi, doc/interpreter/optim.txi,
doc/interpreter/package.txi, doc/interpreter/plot.txi,
doc/interpreter/plotimages.m, doc/interpreter/poly.txi,
doc/interpreter/preface.txi, doc/interpreter/quad.txi, doc/interpreter/set.txi,
doc/interpreter/signal.txi, doc/interpreter/sparse.txi,
doc/interpreter/sparseimages.m, doc/interpreter/splineimages.m,
doc/interpreter/stats.txi, doc/interpreter/stmt.txi,
doc/interpreter/strings.txi, doc/interpreter/system.txi,
doc/interpreter/testfun.txi, doc/interpreter/var.txi,
doc/interpreter/vectorize.txi, doc/liboctave/array.texi,
doc/liboctave/bugs.texi, doc/liboctave/cp-idx.texi, doc/liboctave/dae.texi,
doc/liboctave/diffeq.texi, doc/liboctave/error.texi, doc/liboctave/factor.texi,
doc/liboctave/fn-idx.texi, doc/liboctave/gpl.texi, doc/liboctave/install.texi,
doc/liboctave/intro.texi, doc/liboctave/liboctave.texi,
doc/liboctave/matvec.texi, doc/liboctave/nleqn.texi, doc/liboctave/nlfunc.texi,
doc/liboctave/ode.texi, doc/liboctave/optim.texi, doc/liboctave/preface.texi,
doc/liboctave/quad.texi, doc/liboctave/range.texi, doc/refcard/refcard-a4.tex,
doc/refcard/refcard-legal.tex, doc/refcard/refcard-letter.tex,
doc/refcard/refcard.tex, etc/HACKING, etc/icons/octave.appdata.xml.in,
libgui/graphics/Backend.cc, libgui/graphics/Backend.h,
libgui/graphics/BaseControl.cc, libgui/graphics/BaseControl.h,
libgui/graphics/ButtonControl.cc, libgui/graphics/ButtonControl.h,
libgui/graphics/ButtonGroup.cc, libgui/graphics/ButtonGroup.h,
libgui/graphics/Canvas.cc, libgui/graphics/Canvas.h,
libgui/graphics/CheckBoxControl.cc, libgui/graphics/CheckBoxControl.h,
libgui/graphics/Container.cc, libgui/graphics/Container.h,
libgui/graphics/ContextMenu.cc, libgui/graphics/ContextMenu.h,
libgui/graphics/EditControl.cc, libgui/graphics/EditControl.h,
libgui/graphics/Figure.cc, libgui/graphics/Figure.h,
libgui/graphics/FigureWindow.cc, libgui/graphics/FigureWindow.h,
libgui/graphics/GLCanvas.cc, libgui/graphics/GLCanvas.h,
libgui/graphics/GenericEventNotify.h, libgui/graphics/KeyMap.cc,
libgui/graphics/KeyMap.h, libgui/graphics/ListBoxControl.cc,
libgui/graphics/ListBoxControl.h, libgui/graphics/Logger.cc,
libgui/graphics/Logger.h, libgui/graphics/Menu.cc, libgui/graphics/Menu.h,
libgui/graphics/MenuContainer.h, libgui/graphics/MouseModeActionGroup.cc,
libgui/graphics/MouseModeActionGroup.h, libgui/graphics/Object.cc,
libgui/graphics/Object.h, libgui/graphics/ObjectFactory.cc,
libgui/graphics/ObjectFactory.h, libgui/graphics/ObjectProxy.cc,
libgui/graphics/ObjectProxy.h, libgui/graphics/Panel.cc,
libgui/graphics/Panel.h, libgui/graphics/PopupMenuControl.cc,
libgui/graphics/PopupMenuControl.h, libgui/graphics/PushButtonControl.cc,
libgui/graphics/PushButtonControl.h, libgui/graphics/PushTool.cc,
libgui/graphics/PushTool.h, libgui/graphics/QtHandlesUtils.cc,
libgui/graphics/QtHandlesUtils.h, libgui/graphics/RadioButtonControl.cc,
libgui/graphics/RadioButtonControl.h, libgui/graphics/SliderControl.cc,
libgui/graphics/SliderControl.h, libgui/graphics/TextControl.cc,
libgui/graphics/TextControl.h, libgui/graphics/TextEdit.cc,
libgui/graphics/TextEdit.h, libgui/graphics/ToggleButtonControl.cc,
libgui/graphics/ToggleButtonControl.h, libgui/graphics/ToggleTool.cc,
libgui/graphics/ToggleTool.h, libgui/graphics/ToolBar.cc,
libgui/graphics/ToolBar.h, libgui/graphics/ToolBarButton.cc,
libgui/graphics/ToolBarButton.h, libgui/graphics/__init_qt__.cc,
libgui/graphics/__init_qt__.h, libgui/graphics/annotation-dialog.cc,
libgui/graphics/annotation-dialog.h, libgui/graphics/gl-select.cc,
libgui/graphics/gl-select.h, libgui/src/color-picker.cc,
libgui/src/color-picker.h, libgui/src/dialog.cc, libgui/src/dialog.h,
libgui/src/documentation-dock-widget.cc,
libgui/src/documentation-dock-widget.h, libgui/src/files-dock-widget.cc,
libgui/src/files-dock-widget.h, libgui/src/find-files-dialog.cc,
libgui/src/find-files-dialog.h, libgui/src/find-files-model.cc,
libgui/src/find-files-model.h, libgui/src/history-dock-widget.cc,
libgui/src/history-dock-widget.h, libgui/src/liboctgui-build-info.h,
libgui/src/liboctgui-build-info.in.cc,
libgui/src/m-editor/file-editor-interface.h,
libgui/src/m-editor/file-editor-tab.cc, libgui/src/m-editor/file-editor-tab.h,
libgui/src/m-editor/file-editor.cc, libgui/src/m-editor/file-editor.h,
libgui/src/m-editor/find-dialog.cc, libgui/src/m-editor/find-dialog.h,
libgui/src/m-editor/marker.cc, libgui/src/m-editor/marker.h,
libgui/src/m-editor/octave-qscintilla.cc,
libgui/src/m-editor/octave-qscintilla.h,
libgui/src/m-editor/octave-txt-lexer.cc,
libgui/src/m-editor/octave-txt-lexer.h, libgui/src/main-window.cc,
libgui/src/main-window.h, libgui/src/octave-cmd.cc, libgui/src/octave-cmd.h,
libgui/src/octave-dock-widget.cc, libgui/src/octave-dock-widget.h,
libgui/src/octave-gui.cc, libgui/src/octave-gui.h,
libgui/src/octave-interpreter.cc, libgui/src/octave-interpreter.h,
libgui/src/octave-qt-link.cc, libgui/src/octave-qt-link.h,
libgui/src/qtinfo/parser.cc, libgui/src/qtinfo/parser.h,
libgui/src/qtinfo/webinfo.cc, libgui/src/qtinfo/webinfo.h,
libgui/src/resource-manager.cc, libgui/src/resource-manager.h,
libgui/src/settings-dialog.cc, libgui/src/settings-dialog.h,
libgui/src/shortcut-manager.cc, libgui/src/shortcut-manager.h,
libgui/src/terminal-dock-widget.cc, libgui/src/terminal-dock-widget.h,
libgui/src/thread-manager.cc, libgui/src/thread-manager.h,
libgui/src/welcome-wizard.cc, libgui/src/welcome-wizard.h,
libgui/src/workspace-model.cc, libgui/src/workspace-model.h,
libgui/src/workspace-view.cc, libgui/src/workspace-view.h,
libinterp/build-env.h, libinterp/build-env.in.cc, libinterp/builtins.h,
libinterp/corefcn/Cell.cc, libinterp/corefcn/Cell.h,
libinterp/corefcn/__contourc__.cc, libinterp/corefcn/__dsearchn__.cc,
libinterp/corefcn/__ichol__.cc, libinterp/corefcn/__ilu__.cc,
libinterp/corefcn/__lin_interpn__.cc, libinterp/corefcn/__luinc__.cc,
libinterp/corefcn/__magick_read__.cc, libinterp/corefcn/__pchip_deriv__.cc,
libinterp/corefcn/__qp__.cc, libinterp/corefcn/balance.cc,
libinterp/corefcn/base-text-renderer.h, libinterp/corefcn/besselj.cc,
libinterp/corefcn/betainc.cc, libinterp/corefcn/bitfcns.cc,
libinterp/corefcn/bsxfun.cc, libinterp/corefcn/c-file-ptr-stream.cc,
libinterp/corefcn/c-file-ptr-stream.h, libinterp/corefcn/call-stack.cc,
libinterp/corefcn/call-stack.h, libinterp/corefcn/cdisplay.c,
libinterp/corefcn/cdisplay.h, libinterp/corefcn/cellfun.cc,
libinterp/corefcn/coct-hdf5-types.c, libinterp/corefcn/colloc.cc,
libinterp/corefcn/comment-list.cc, libinterp/corefcn/comment-list.h,
libinterp/corefcn/conv2.cc, libinterp/corefcn/daspk.cc,
libinterp/corefcn/dasrt.cc, libinterp/corefcn/dassl.cc,
libinterp/corefcn/data.cc, libinterp/corefcn/data.h,
libinterp/corefcn/debug.cc, libinterp/corefcn/debug.h,
libinterp/corefcn/defaults.cc, libinterp/corefcn/defaults.in.h,
libinterp/corefcn/defun-dld.h, libinterp/corefcn/defun-int.h,
libinterp/corefcn/defun.cc, libinterp/corefcn/defun.h,
libinterp/corefcn/det.cc, libinterp/corefcn/dirfns.cc,
libinterp/corefcn/dirfns.h, libinterp/corefcn/display.cc,
libinterp/corefcn/display.h, libinterp/corefcn/dlmread.cc,
libinterp/corefcn/dot.cc, libinterp/corefcn/dynamic-ld.cc,
libinterp/corefcn/dynamic-ld.h, libinterp/corefcn/eig.cc,
libinterp/corefcn/ellipj.cc, libinterp/corefcn/error.cc,
libinterp/corefcn/error.h, libinterp/corefcn/errwarn.cc,
libinterp/corefcn/errwarn.h, libinterp/corefcn/event-queue.cc,
libinterp/corefcn/event-queue.h, libinterp/corefcn/fft.cc,
libinterp/corefcn/fft2.cc, libinterp/corefcn/fftn.cc,
libinterp/corefcn/file-io.cc, libinterp/corefcn/file-io.h,
libinterp/corefcn/filter.cc, libinterp/corefcn/find.cc,
libinterp/corefcn/ft-text-renderer.cc, libinterp/corefcn/ft-text-renderer.h,
libinterp/corefcn/gammainc.cc, libinterp/corefcn/gcd.cc,
libinterp/corefcn/getgrent.cc, libinterp/corefcn/getpwent.cc,
libinterp/corefcn/getrusage.cc, libinterp/corefcn/givens.cc,
libinterp/corefcn/gl-render.cc, libinterp/corefcn/gl-render.h,
libinterp/corefcn/gl2ps-print.cc, libinterp/corefcn/gl2ps-print.h,
libinterp/corefcn/graphics.cc, libinterp/corefcn/graphics.in.h,
libinterp/corefcn/gripes.cc, libinterp/corefcn/gripes.h,
libinterp/corefcn/gsvd.cc, libinterp/corefcn/hash.cc,
libinterp/corefcn/help.cc, libinterp/corefcn/help.h, libinterp/corefcn/hess.cc,
libinterp/corefcn/hex2num.cc, libinterp/corefcn/hook-fcn.cc,
libinterp/corefcn/hook-fcn.h, libinterp/corefcn/input.cc,
libinterp/corefcn/input.h, libinterp/corefcn/interpreter.cc,
libinterp/corefcn/interpreter.h, libinterp/corefcn/inv.cc,
libinterp/corefcn/jit-ir.cc, libinterp/corefcn/jit-ir.h,
libinterp/corefcn/jit-typeinfo.cc, libinterp/corefcn/jit-typeinfo.h,
libinterp/corefcn/jit-util.cc, libinterp/corefcn/jit-util.h,
libinterp/corefcn/kron.cc, libinterp/corefcn/load-path.cc,
libinterp/corefcn/load-path.h, libinterp/corefcn/load-save.cc,
libinterp/corefcn/load-save.h, libinterp/corefcn/lookup.cc,
libinterp/corefcn/ls-ascii-helper.cc, libinterp/corefcn/ls-ascii-helper.h,
libinterp/corefcn/ls-hdf5.cc, libinterp/corefcn/ls-hdf5.h,
libinterp/corefcn/ls-mat-ascii.cc, libinterp/corefcn/ls-mat-ascii.h,
libinterp/corefcn/ls-mat4.cc, libinterp/corefcn/ls-mat4.h,
libinterp/corefcn/ls-mat5.cc, libinterp/corefcn/ls-mat5.h,
libinterp/corefcn/ls-oct-binary.cc, libinterp/corefcn/ls-oct-binary.h,
libinterp/corefcn/ls-oct-text.cc, libinterp/corefcn/ls-oct-text.h,
libinterp/corefcn/ls-utils.cc, libinterp/corefcn/ls-utils.h,
libinterp/corefcn/lsode.cc, libinterp/corefcn/lu.cc,
libinterp/corefcn/mappers.cc, libinterp/corefcn/matrix_type.cc,
libinterp/corefcn/max.cc, libinterp/corefcn/mex.cc, libinterp/corefcn/mex.h,
libinterp/corefcn/mexproto.h, libinterp/corefcn/mgorth.cc,
libinterp/corefcn/mxarray.in.h, libinterp/corefcn/nproc.cc,
libinterp/corefcn/oct-errno.h, libinterp/corefcn/oct-errno.in.cc,
libinterp/corefcn/oct-fstrm.cc, libinterp/corefcn/oct-fstrm.h,
libinterp/corefcn/oct-handle.h, libinterp/corefcn/oct-hdf5-types.cc,
libinterp/corefcn/oct-hdf5-types.h, libinterp/corefcn/oct-hdf5.h,
libinterp/corefcn/oct-hist.cc, libinterp/corefcn/oct-hist.h,
libinterp/corefcn/oct-iostrm.cc, libinterp/corefcn/oct-iostrm.h,
libinterp/corefcn/oct-lvalue.cc, libinterp/corefcn/oct-lvalue.h,
libinterp/corefcn/oct-map.cc, libinterp/corefcn/oct-map.h,
libinterp/corefcn/oct-obj.h, libinterp/corefcn/oct-opengl.h,
libinterp/corefcn/oct-prcstrm.cc, libinterp/corefcn/oct-prcstrm.h,
libinterp/corefcn/oct-procbuf.cc, libinterp/corefcn/oct-procbuf.h,
libinterp/corefcn/oct-stdstrm.h, libinterp/corefcn/oct-stream.cc,
libinterp/corefcn/oct-stream.h, libinterp/corefcn/oct-strstrm.cc,
libinterp/corefcn/oct-strstrm.h, libinterp/corefcn/oct-tex-lexer.in.ll,
libinterp/corefcn/oct-tex-parser.in.yy, libinterp/corefcn/oct.h,
libinterp/corefcn/octave-default-image.h, libinterp/corefcn/octave-link.cc,
libinterp/corefcn/octave-link.h,
libinterp/corefcn/octave-preserve-stream-state.h,
libinterp/corefcn/ordschur.cc, libinterp/corefcn/pager.cc,
libinterp/corefcn/pager.h, libinterp/corefcn/pinv.cc,
libinterp/corefcn/pr-output.cc, libinterp/corefcn/pr-output.h,
libinterp/corefcn/procstream.cc, libinterp/corefcn/procstream.h,
libinterp/corefcn/profiler.cc, libinterp/corefcn/profiler.h,
libinterp/corefcn/psi.cc, libinterp/corefcn/pt-jit.cc,
libinterp/corefcn/pt-jit.h, libinterp/corefcn/quad.cc,
libinterp/corefcn/quadcc.cc, libinterp/corefcn/qz.cc,
libinterp/corefcn/rand.cc, libinterp/corefcn/rcond.cc,
libinterp/corefcn/regexp.cc, libinterp/corefcn/schur.cc,
libinterp/corefcn/sighandlers.cc, libinterp/corefcn/sighandlers.h,
libinterp/corefcn/sparse-xdiv.cc, libinterp/corefcn/sparse-xdiv.h,
libinterp/corefcn/sparse-xpow.cc, libinterp/corefcn/sparse-xpow.h,
libinterp/corefcn/sparse.cc, libinterp/corefcn/spparms.cc,
libinterp/corefcn/sqrtm.cc, libinterp/corefcn/str2double.cc,
libinterp/corefcn/strfind.cc, libinterp/corefcn/strfns.cc,
libinterp/corefcn/sub2ind.cc, libinterp/corefcn/svd.cc,
libinterp/corefcn/sylvester.cc, libinterp/corefcn/symtab.cc,
libinterp/corefcn/symtab.h, libinterp/corefcn/syscalls.cc,
libinterp/corefcn/sysdep.cc, libinterp/corefcn/sysdep.h,
libinterp/corefcn/text-renderer.cc, libinterp/corefcn/text-renderer.h,
libinterp/corefcn/time.cc, libinterp/corefcn/toplev.cc,
libinterp/corefcn/toplev.h, libinterp/corefcn/tril.cc,
libinterp/corefcn/tsearch.cc, libinterp/corefcn/txt-eng.cc,
libinterp/corefcn/txt-eng.h, libinterp/corefcn/typecast.cc,
libinterp/corefcn/urlwrite.cc, libinterp/corefcn/utils.cc,
libinterp/corefcn/utils.h, libinterp/corefcn/variables.cc,
libinterp/corefcn/variables.h, libinterp/corefcn/workspace-element.h,
libinterp/corefcn/xdiv.cc, libinterp/corefcn/xdiv.h,
libinterp/corefcn/xnorm.cc, libinterp/corefcn/xnorm.h,
libinterp/corefcn/xpow.cc, libinterp/corefcn/xpow.h,
libinterp/corefcn/zfstream.cc, libinterp/corefcn/zfstream.h,
libinterp/deprecated-config.h, libinterp/dldfcn/__delaunayn__.cc,
libinterp/dldfcn/__eigs__.cc, libinterp/dldfcn/__fltk_uigetfile__.cc,
libinterp/dldfcn/__glpk__.cc, libinterp/dldfcn/__init_fltk__.cc,
libinterp/dldfcn/__init_gnuplot__.cc, libinterp/dldfcn/__osmesa_print__.cc,
libinterp/dldfcn/__voronoi__.cc, libinterp/dldfcn/amd.cc,
libinterp/dldfcn/audiodevinfo.cc, libinterp/dldfcn/audioread.cc,
libinterp/dldfcn/ccolamd.cc, libinterp/dldfcn/chol.cc,
libinterp/dldfcn/colamd.cc, libinterp/dldfcn/convhulln.cc,
libinterp/dldfcn/dmperm.cc, libinterp/dldfcn/fftw.cc, libinterp/dldfcn/gzip.cc,
libinterp/dldfcn/oct-qhull.h, libinterp/dldfcn/qr.cc,
libinterp/dldfcn/symbfact.cc, libinterp/dldfcn/symrcm.cc, libinterp/gendoc.pl,
libinterp/genprops.awk, libinterp/liboctinterp-build-info.h,
libinterp/liboctinterp-build-info.in.cc, libinterp/mk-errno-list,
libinterp/mk-pkg-add, libinterp/mkops, libinterp/octave-value/ov-base-diag.cc,
libinterp/octave-value/ov-base-diag.h, libinterp/octave-value/ov-base-int.cc,
libinterp/octave-value/ov-base-int.h, libinterp/octave-value/ov-base-mat.cc,
libinterp/octave-value/ov-base-mat.h, libinterp/octave-value/ov-base-scalar.cc,
libinterp/octave-value/ov-base-scalar.h,
libinterp/octave-value/ov-base-sparse.cc,
libinterp/octave-value/ov-base-sparse.h, libinterp/octave-value/ov-base.cc,
libinterp/octave-value/ov-base.h, libinterp/octave-value/ov-bool-mat.cc,
libinterp/octave-value/ov-bool-mat.h, libinterp/octave-value/ov-bool-sparse.cc,
libinterp/octave-value/ov-bool-sparse.h, libinterp/octave-value/ov-bool.cc,
libinterp/octave-value/ov-bool.h, libinterp/octave-value/ov-builtin.cc,
libinterp/octave-value/ov-builtin.h, libinterp/octave-value/ov-cell.cc,
libinterp/octave-value/ov-cell.h, libinterp/octave-value/ov-ch-mat.cc,
libinterp/octave-value/ov-ch-mat.h, libinterp/octave-value/ov-class.cc,
libinterp/octave-value/ov-class.h, libinterp/octave-value/ov-classdef.cc,
libinterp/octave-value/ov-classdef.h, libinterp/octave-value/ov-colon.cc,
libinterp/octave-value/ov-colon.h, libinterp/octave-value/ov-complex.cc,
libinterp/octave-value/ov-complex.h, libinterp/octave-value/ov-cs-list.cc,
libinterp/octave-value/ov-cs-list.h, libinterp/octave-value/ov-cx-diag.cc,
libinterp/octave-value/ov-cx-diag.h, libinterp/octave-value/ov-cx-mat.cc,
libinterp/octave-value/ov-cx-mat.h, libinterp/octave-value/ov-cx-sparse.cc,
libinterp/octave-value/ov-cx-sparse.h, libinterp/octave-value/ov-dld-fcn.cc,
libinterp/octave-value/ov-dld-fcn.h, libinterp/octave-value/ov-fcn-handle.cc,
libinterp/octave-value/ov-fcn-handle.h,
libinterp/octave-value/ov-fcn-inline.cc,
libinterp/octave-value/ov-fcn-inline.h, libinterp/octave-value/ov-fcn.cc,
libinterp/octave-value/ov-fcn.h, libinterp/octave-value/ov-float.cc,
libinterp/octave-value/ov-float.h, libinterp/octave-value/ov-flt-complex.cc,
libinterp/octave-value/ov-flt-complex.h,
libinterp/octave-value/ov-flt-cx-diag.cc,
libinterp/octave-value/ov-flt-cx-diag.h,
libinterp/octave-value/ov-flt-cx-mat.cc,
libinterp/octave-value/ov-flt-cx-mat.h,
libinterp/octave-value/ov-flt-re-diag.cc,
libinterp/octave-value/ov-flt-re-diag.h,
libinterp/octave-value/ov-flt-re-mat.cc,
libinterp/octave-value/ov-flt-re-mat.h, libinterp/octave-value/ov-int-traits.h,
libinterp/octave-value/ov-int16.cc, libinterp/octave-value/ov-int16.h,
libinterp/octave-value/ov-int32.cc, libinterp/octave-value/ov-int32.h,
libinterp/octave-value/ov-int64.cc, libinterp/octave-value/ov-int64.h,
libinterp/octave-value/ov-int8.cc, libinterp/octave-value/ov-int8.h,
libinterp/octave-value/ov-intx.h, libinterp/octave-value/ov-java.cc,
libinterp/octave-value/ov-java.h, libinterp/octave-value/ov-lazy-idx.cc,
libinterp/octave-value/ov-lazy-idx.h, libinterp/octave-value/ov-mex-fcn.cc,
libinterp/octave-value/ov-mex-fcn.h, libinterp/octave-value/ov-null-mat.cc,
libinterp/octave-value/ov-null-mat.h, libinterp/octave-value/ov-oncleanup.cc,
libinterp/octave-value/ov-oncleanup.h, libinterp/octave-value/ov-perm.cc,
libinterp/octave-value/ov-perm.h, libinterp/octave-value/ov-range.cc,
libinterp/octave-value/ov-range.h, libinterp/octave-value/ov-re-diag.cc,
libinterp/octave-value/ov-re-diag.h, libinterp/octave-value/ov-re-mat.cc,
libinterp/octave-value/ov-re-mat.h, libinterp/octave-value/ov-re-sparse.cc,
libinterp/octave-value/ov-re-sparse.h, libinterp/octave-value/ov-scalar.cc,
libinterp/octave-value/ov-scalar.h, libinterp/octave-value/ov-str-mat.cc,
libinterp/octave-value/ov-str-mat.h, libinterp/octave-value/ov-struct.cc,
libinterp/octave-value/ov-struct.h, libinterp/octave-value/ov-typeinfo.cc,
libinterp/octave-value/ov-typeinfo.h, libinterp/octave-value/ov-uint16.cc,
libinterp/octave-value/ov-uint16.h, libinterp/octave-value/ov-uint32.cc,
libinterp/octave-value/ov-uint32.h, libinterp/octave-value/ov-uint64.cc,
libinterp/octave-value/ov-uint64.h, libinterp/octave-value/ov-uint8.cc,
libinterp/octave-value/ov-uint8.h, libinterp/octave-value/ov-usr-fcn.cc,
libinterp/octave-value/ov-usr-fcn.h, libinterp/octave-value/ov.cc,
libinterp/octave-value/ov.h, libinterp/octave-value/ovl.cc,
libinterp/octave-value/ovl.h, libinterp/octave.cc, libinterp/octave.h,
libinterp/op-kw-docs, libinterp/operators/op-b-b.cc,
libinterp/operators/op-b-bm.cc, libinterp/operators/op-b-sbm.cc,
libinterp/operators/op-bm-b.cc, libinterp/operators/op-bm-bm.cc,
libinterp/operators/op-bm-sbm.cc, libinterp/operators/op-cdm-cdm.cc,
libinterp/operators/op-cdm-cm.cc, libinterp/operators/op-cdm-cs.cc,
libinterp/operators/op-cdm-dm.cc, libinterp/operators/op-cdm-m.cc,
libinterp/operators/op-cdm-s.cc, libinterp/operators/op-cell.cc,
libinterp/operators/op-chm.cc, libinterp/operators/op-class.cc,
libinterp/operators/op-cm-cdm.cc, libinterp/operators/op-cm-cm.cc,
libinterp/operators/op-cm-cs.cc, libinterp/operators/op-cm-dm.cc,
libinterp/operators/op-cm-m.cc, libinterp/operators/op-cm-pm.cc,
libinterp/operators/op-cm-s.cc, libinterp/operators/op-cm-scm.cc,
libinterp/operators/op-cm-sm.cc, libinterp/operators/op-cs-cm.cc,
libinterp/operators/op-cs-cs.cc, libinterp/operators/op-cs-m.cc,
libinterp/operators/op-cs-s.cc, libinterp/operators/op-cs-scm.cc,
libinterp/operators/op-cs-sm.cc, libinterp/operators/op-dm-cdm.cc,
libinterp/operators/op-dm-cm.cc, libinterp/operators/op-dm-cs.cc,
libinterp/operators/op-dm-dm.cc, libinterp/operators/op-dm-m.cc,
libinterp/operators/op-dm-s.cc, libinterp/operators/op-dm-scm.cc,
libinterp/operators/op-dm-sm.cc, libinterp/operators/op-dm-template.cc,
libinterp/operators/op-dms-template.cc, libinterp/operators/op-fcdm-fcdm.cc,
libinterp/operators/op-fcdm-fcm.cc, libinterp/operators/op-fcdm-fcs.cc,
libinterp/operators/op-fcdm-fdm.cc, libinterp/operators/op-fcdm-fm.cc,
libinterp/operators/op-fcdm-fs.cc, libinterp/operators/op-fcm-fcdm.cc,
libinterp/operators/op-fcm-fcm.cc, libinterp/operators/op-fcm-fcs.cc,
libinterp/operators/op-fcm-fdm.cc, libinterp/operators/op-fcm-fm.cc,
libinterp/operators/op-fcm-fs.cc, libinterp/operators/op-fcm-pm.cc,
libinterp/operators/op-fcn.cc, libinterp/operators/op-fcs-fcm.cc,
libinterp/operators/op-fcs-fcs.cc, libinterp/operators/op-fcs-fm.cc,
libinterp/operators/op-fcs-fs.cc, libinterp/operators/op-fdm-fcdm.cc,
libinterp/operators/op-fdm-fcm.cc, libinterp/operators/op-fdm-fcs.cc,
libinterp/operators/op-fdm-fdm.cc, libinterp/operators/op-fdm-fm.cc,
libinterp/operators/op-fdm-fs.cc, libinterp/operators/op-fm-fcdm.cc,
libinterp/operators/op-fm-fcm.cc, libinterp/operators/op-fm-fcs.cc,
libinterp/operators/op-fm-fdm.cc, libinterp/operators/op-fm-fm.cc,
libinterp/operators/op-fm-fs.cc, libinterp/operators/op-fm-pm.cc,
libinterp/operators/op-fs-fcm.cc, libinterp/operators/op-fs-fcs.cc,
libinterp/operators/op-fs-fm.cc, libinterp/operators/op-fs-fs.cc,
libinterp/operators/op-i16-i16.cc, libinterp/operators/op-i32-i32.cc,
libinterp/operators/op-i64-i64.cc, libinterp/operators/op-i8-i8.cc,
libinterp/operators/op-int-concat.cc, libinterp/operators/op-int.h,
libinterp/operators/op-m-cdm.cc, libinterp/operators/op-m-cm.cc,
libinterp/operators/op-m-cs.cc, libinterp/operators/op-m-dm.cc,
libinterp/operators/op-m-m.cc, libinterp/operators/op-m-pm.cc,
libinterp/operators/op-m-s.cc, libinterp/operators/op-m-scm.cc,
libinterp/operators/op-m-sm.cc, libinterp/operators/op-pm-cm.cc,
libinterp/operators/op-pm-fcm.cc, libinterp/operators/op-pm-fm.cc,
libinterp/operators/op-pm-m.cc, libinterp/operators/op-pm-pm.cc,
libinterp/operators/op-pm-scm.cc, libinterp/operators/op-pm-sm.cc,
libinterp/operators/op-pm-template.cc, libinterp/operators/op-range.cc,
libinterp/operators/op-s-cm.cc, libinterp/operators/op-s-cs.cc,
libinterp/operators/op-s-m.cc, libinterp/operators/op-s-s.cc,
libinterp/operators/op-s-scm.cc, libinterp/operators/op-s-sm.cc,
libinterp/operators/op-sbm-b.cc, libinterp/operators/op-sbm-bm.cc,
libinterp/operators/op-sbm-sbm.cc, libinterp/operators/op-scm-cm.cc,
libinterp/operators/op-scm-cs.cc, libinterp/operators/op-scm-m.cc,
libinterp/operators/op-scm-s.cc, libinterp/operators/op-scm-scm.cc,
libinterp/operators/op-scm-sm.cc, libinterp/operators/op-sm-cm.cc,
libinterp/operators/op-sm-cs.cc, libinterp/operators/op-sm-m.cc,
libinterp/operators/op-sm-s.cc, libinterp/operators/op-sm-scm.cc,
libinterp/operators/op-sm-sm.cc, libinterp/operators/op-str-m.cc,
libinterp/operators/op-str-s.cc, libinterp/operators/op-str-str.cc,
libinterp/operators/op-struct.cc, libinterp/operators/op-ui16-ui16.cc,
libinterp/operators/op-ui32-ui32.cc, libinterp/operators/op-ui64-ui64.cc,
libinterp/operators/op-ui8-ui8.cc, libinterp/operators/ops.h,
libinterp/options-usage.h, libinterp/parse-tree/lex.h,
libinterp/parse-tree/lex.ll, libinterp/parse-tree/oct-parse.in.yy,
libinterp/parse-tree/octave.gperf, libinterp/parse-tree/parse.h,
libinterp/parse-tree/pt-all.h, libinterp/parse-tree/pt-arg-list.cc,
libinterp/parse-tree/pt-arg-list.h, libinterp/parse-tree/pt-array-list.cc,
libinterp/parse-tree/pt-array-list.h, libinterp/parse-tree/pt-assign.cc,
libinterp/parse-tree/pt-assign.h, libinterp/parse-tree/pt-binop.cc,
libinterp/parse-tree/pt-binop.h, libinterp/parse-tree/pt-bp.cc,
libinterp/parse-tree/pt-bp.h, libinterp/parse-tree/pt-cbinop.cc,
libinterp/parse-tree/pt-cbinop.h, libinterp/parse-tree/pt-cell.cc,
libinterp/parse-tree/pt-cell.h, libinterp/parse-tree/pt-check.cc,
libinterp/parse-tree/pt-check.h, libinterp/parse-tree/pt-classdef.cc,
libinterp/parse-tree/pt-classdef.h, libinterp/parse-tree/pt-cmd.cc,
libinterp/parse-tree/pt-cmd.h, libinterp/parse-tree/pt-colon.cc,
libinterp/parse-tree/pt-colon.h, libinterp/parse-tree/pt-const.cc,
libinterp/parse-tree/pt-const.h, libinterp/parse-tree/pt-decl.cc,
libinterp/parse-tree/pt-decl.h, libinterp/parse-tree/pt-eval.cc,
libinterp/parse-tree/pt-eval.h, libinterp/parse-tree/pt-except.cc,
libinterp/parse-tree/pt-except.h, libinterp/parse-tree/pt-exp.cc,
libinterp/parse-tree/pt-exp.h, libinterp/parse-tree/pt-fcn-handle.cc,
libinterp/parse-tree/pt-fcn-handle.h, libinterp/parse-tree/pt-funcall.cc,
libinterp/parse-tree/pt-funcall.h, libinterp/parse-tree/pt-id.cc,
libinterp/parse-tree/pt-id.h, libinterp/parse-tree/pt-idx.cc,
libinterp/parse-tree/pt-idx.h, libinterp/parse-tree/pt-jump.cc,
libinterp/parse-tree/pt-jump.h, libinterp/parse-tree/pt-loop.cc,
libinterp/parse-tree/pt-loop.h, libinterp/parse-tree/pt-mat.cc,
libinterp/parse-tree/pt-mat.h, libinterp/parse-tree/pt-misc.cc,
libinterp/parse-tree/pt-misc.h, libinterp/parse-tree/pt-pr-code.cc,
libinterp/parse-tree/pt-pr-code.h, libinterp/parse-tree/pt-select.cc,
libinterp/parse-tree/pt-select.h, libinterp/parse-tree/pt-stmt.cc,
libinterp/parse-tree/pt-stmt.h, libinterp/parse-tree/pt-unop.cc,
libinterp/parse-tree/pt-unop.h, libinterp/parse-tree/pt-walk.h,
libinterp/parse-tree/pt.cc, libinterp/parse-tree/pt.h,
libinterp/parse-tree/token.cc, libinterp/parse-tree/token.h,
libinterp/template-inst/Array-jit.cc, libinterp/template-inst/Array-tc.cc,
libinterp/version.cc, libinterp/version.in.h, liboctave/array/Array-C.cc,
liboctave/array/Array-b.cc, liboctave/array/Array-ch.cc,
liboctave/array/Array-d.cc, liboctave/array/Array-f.cc,
liboctave/array/Array-fC.cc, liboctave/array/Array-i.cc,
liboctave/array/Array-idx-vec.cc, liboctave/array/Array-s.cc,
liboctave/array/Array-str.cc, liboctave/array/Array-util.cc,
liboctave/array/Array-util.h, liboctave/array/Array-voidp.cc,
liboctave/array/Array.cc, liboctave/array/Array.h,
liboctave/array/CColVector.cc, liboctave/array/CColVector.h,
liboctave/array/CDiagMatrix.cc, liboctave/array/CDiagMatrix.h,
liboctave/array/CMatrix.cc, liboctave/array/CMatrix.h,
liboctave/array/CNDArray.cc, liboctave/array/CNDArray.h,
liboctave/array/CRowVector.cc, liboctave/array/CRowVector.h,
liboctave/array/CSparse.cc, liboctave/array/CSparse.h,
liboctave/array/DiagArray2.cc, liboctave/array/DiagArray2.h,
liboctave/array/MArray-C.cc, liboctave/array/MArray-d.cc,
liboctave/array/MArray-f.cc, liboctave/array/MArray-fC.cc,
liboctave/array/MArray-i.cc, liboctave/array/MArray-s.cc,
liboctave/array/MArray.cc, liboctave/array/MArray.h,
liboctave/array/MDiagArray2.cc, liboctave/array/MDiagArray2.h,
liboctave/array/MSparse-C.cc, liboctave/array/MSparse-d.cc,
liboctave/array/MSparse.cc, liboctave/array/MSparse.h,
liboctave/array/Matrix.h, liboctave/array/MatrixType.cc,
liboctave/array/MatrixType.h, liboctave/array/PermMatrix.cc,
liboctave/array/PermMatrix.h, liboctave/array/Range.cc,
liboctave/array/Range.h, liboctave/array/Sparse-C.cc,
liboctave/array/Sparse-b.cc, liboctave/array/Sparse-d.cc,
liboctave/array/Sparse.cc, liboctave/array/Sparse.h,
liboctave/array/boolMatrix.cc, liboctave/array/boolMatrix.h,
liboctave/array/boolNDArray.cc, liboctave/array/boolNDArray.h,
liboctave/array/boolSparse.cc, liboctave/array/boolSparse.h,
liboctave/array/chMatrix.cc, liboctave/array/chMatrix.h,
liboctave/array/chNDArray.cc, liboctave/array/chNDArray.h,
liboctave/array/dColVector.cc, liboctave/array/dColVector.h,
liboctave/array/dDiagMatrix.cc, liboctave/array/dDiagMatrix.h,
liboctave/array/dMatrix.cc, liboctave/array/dMatrix.h,
liboctave/array/dNDArray.cc, liboctave/array/dNDArray.h,
liboctave/array/dRowVector.cc, liboctave/array/dRowVector.h,
liboctave/array/dSparse.cc, liboctave/array/dSparse.h,
liboctave/array/dim-vector.cc, liboctave/array/dim-vector.h,
liboctave/array/fCColVector.cc, liboctave/array/fCColVector.h,
liboctave/array/fCDiagMatrix.cc, liboctave/array/fCDiagMatrix.h,
liboctave/array/fCMatrix.cc, liboctave/array/fCMatrix.h,
liboctave/array/fCNDArray.cc, liboctave/array/fCNDArray.h,
liboctave/array/fCRowVector.cc, liboctave/array/fCRowVector.h,
liboctave/array/fColVector.cc, liboctave/array/fColVector.h,
liboctave/array/fDiagMatrix.cc, liboctave/array/fDiagMatrix.h,
liboctave/array/fMatrix.cc, liboctave/array/fMatrix.h,
liboctave/array/fNDArray.cc, liboctave/array/fNDArray.h,
liboctave/array/fRowVector.cc, liboctave/array/fRowVector.h,
liboctave/array/idx-vector.cc, liboctave/array/idx-vector.h,
liboctave/array/int16NDArray.cc, liboctave/array/int16NDArray.h,
liboctave/array/int32NDArray.cc, liboctave/array/int32NDArray.h,
liboctave/array/int64NDArray.cc, liboctave/array/int64NDArray.h,
liboctave/array/int8NDArray.cc, liboctave/array/int8NDArray.h,
liboctave/array/intNDArray.cc, liboctave/array/intNDArray.h,
liboctave/array/uint16NDArray.cc, liboctave/array/uint16NDArray.h,
liboctave/array/uint32NDArray.cc, liboctave/array/uint32NDArray.h,
liboctave/array/uint64NDArray.cc, liboctave/array/uint64NDArray.h,
liboctave/array/uint8NDArray.cc, liboctave/array/uint8NDArray.h,
liboctave/cruft/misc/blaswrap.c, liboctave/cruft/misc/cquit.c,
liboctave/cruft/misc/f77-extern.cc, liboctave/cruft/misc/f77-fcn.c,
liboctave/cruft/misc/f77-fcn.h, liboctave/cruft/misc/lo-error.c,
liboctave/cruft/misc/lo-error.h, liboctave/cruft/misc/quit.cc,
liboctave/cruft/misc/quit.h, liboctave/liboctave-build-info.h,
liboctave/liboctave-build-info.in.cc, liboctave/numeric/CollocWt.cc,
liboctave/numeric/CollocWt.h, liboctave/numeric/DAE.h,
liboctave/numeric/DAEFunc.h, liboctave/numeric/DAERT.h,
liboctave/numeric/DAERTFunc.h, liboctave/numeric/DASPK-opts.in,
liboctave/numeric/DASPK.cc, liboctave/numeric/DASPK.h,
liboctave/numeric/DASRT-opts.in, liboctave/numeric/DASRT.cc,
liboctave/numeric/DASRT.h, liboctave/numeric/DASSL-opts.in,
liboctave/numeric/DASSL.cc, liboctave/numeric/DASSL.h, liboctave/numeric/DET.h,
liboctave/numeric/EIG.cc, liboctave/numeric/EIG.h,
liboctave/numeric/LSODE-opts.in, liboctave/numeric/LSODE.cc,
liboctave/numeric/LSODE.h, liboctave/numeric/ODE.h,
liboctave/numeric/ODEFunc.h, liboctave/numeric/ODES.cc,
liboctave/numeric/ODES.h, liboctave/numeric/ODESFunc.h,
liboctave/numeric/Quad-opts.in, liboctave/numeric/Quad.cc,
liboctave/numeric/Quad.h, liboctave/numeric/aepbalance.cc,
liboctave/numeric/aepbalance.h, liboctave/numeric/base-dae.h,
liboctave/numeric/base-de.h, liboctave/numeric/base-min.h,
liboctave/numeric/bsxfun-decl.h, liboctave/numeric/bsxfun-defs.cc,
liboctave/numeric/bsxfun.h, liboctave/numeric/chol.cc,
liboctave/numeric/chol.h, liboctave/numeric/eigs-base.cc,
liboctave/numeric/eigs-base.h, liboctave/numeric/fEIG.cc,
liboctave/numeric/fEIG.h, liboctave/numeric/gepbalance.cc,
liboctave/numeric/gepbalance.h, liboctave/numeric/gsvd.cc,
liboctave/numeric/gsvd.h, liboctave/numeric/hess.cc, liboctave/numeric/hess.h,
liboctave/numeric/lo-amos-proto.h, liboctave/numeric/lo-arpack-proto.h,
liboctave/numeric/lo-blas-proto.h, liboctave/numeric/lo-fftpack-proto.h,
liboctave/numeric/lo-lapack-proto.h, liboctave/numeric/lo-mappers.cc,
liboctave/numeric/lo-mappers.h, liboctave/numeric/lo-qrupdate-proto.h,
liboctave/numeric/lo-ranlib-proto.h, liboctave/numeric/lo-slatec-proto.h,
liboctave/numeric/lo-specfun.cc, liboctave/numeric/lo-specfun.h,
liboctave/numeric/lu.cc, liboctave/numeric/lu.h,
liboctave/numeric/oct-convn.cc, liboctave/numeric/oct-convn.h,
liboctave/numeric/oct-fftw.cc, liboctave/numeric/oct-fftw.h,
liboctave/numeric/oct-norm.cc, liboctave/numeric/oct-norm.h,
liboctave/numeric/oct-rand.cc, liboctave/numeric/oct-rand.h,
liboctave/numeric/oct-spparms.cc, liboctave/numeric/oct-spparms.h,
liboctave/numeric/qr.cc, liboctave/numeric/qr.h, liboctave/numeric/qrp.cc,
liboctave/numeric/qrp.h, liboctave/numeric/randgamma.cc,
liboctave/numeric/randgamma.h, liboctave/numeric/randmtzig.cc,
liboctave/numeric/randmtzig.h, liboctave/numeric/randpoisson.cc,
liboctave/numeric/randpoisson.h, liboctave/numeric/schur.cc,
liboctave/numeric/schur.h, liboctave/numeric/sparse-chol.cc,
liboctave/numeric/sparse-chol.h, liboctave/numeric/sparse-dmsolve.cc,
liboctave/numeric/sparse-dmsolve.h, liboctave/numeric/sparse-lu.cc,
liboctave/numeric/sparse-lu.h, liboctave/numeric/sparse-qr.cc,
liboctave/numeric/sparse-qr.h, liboctave/numeric/svd.cc,
liboctave/numeric/svd.h, liboctave/operators/Sparse-diag-op-defs.h,
liboctave/operators/Sparse-op-decls.h, liboctave/operators/Sparse-op-defs.h,
liboctave/operators/Sparse-perm-op-defs.h, liboctave/operators/mk-ops.awk,
liboctave/operators/mx-base.h, liboctave/operators/mx-defs.h,
liboctave/operators/mx-ext.h, liboctave/operators/mx-inlines.cc,
liboctave/operators/mx-op-decl.h, liboctave/operators/mx-op-defs.h,
liboctave/operators/mx-ops, liboctave/operators/smx-ops,
liboctave/operators/vx-ops, liboctave/system/child-list.cc,
liboctave/system/child-list.h, liboctave/system/dir-ops.cc,
liboctave/system/dir-ops.h, liboctave/system/file-ops.cc,
liboctave/system/file-ops.h, liboctave/system/file-stat.cc,
liboctave/system/file-stat.h, liboctave/system/lo-sysdep.cc,
liboctave/system/lo-sysdep.h, liboctave/system/mach-info.cc,
liboctave/system/mach-info.h, liboctave/system/oct-env.cc,
liboctave/system/oct-env.h, liboctave/system/oct-group.cc,
liboctave/system/oct-group.h, liboctave/system/oct-passwd.cc,
liboctave/system/oct-passwd.h, liboctave/system/oct-syscalls.cc,
liboctave/system/oct-syscalls.h, liboctave/system/oct-time.cc,
liboctave/system/oct-time.h, liboctave/system/oct-uname.cc,
liboctave/system/oct-uname.h, liboctave/util/action-container.h,
liboctave/util/base-list.h, liboctave/util/byte-swap.h,
liboctave/util/caseless-str.h, liboctave/util/cmd-edit.cc,
liboctave/util/cmd-edit.h, liboctave/util/cmd-hist.cc,
liboctave/util/cmd-hist.h, liboctave/util/data-conv.cc,
liboctave/util/data-conv.h, liboctave/util/f2c-main.c,
liboctave/util/functor.h, liboctave/util/glob-match.cc,
liboctave/util/glob-match.h, liboctave/util/kpse.cc, liboctave/util/kpse.h,
liboctave/util/lo-array-errwarn.cc, liboctave/util/lo-array-errwarn.h,
liboctave/util/lo-array-gripes.cc, liboctave/util/lo-array-gripes.h,
liboctave/util/lo-cutils.c, liboctave/util/lo-cutils.h,
liboctave/util/lo-hash.cc, liboctave/util/lo-hash.h, liboctave/util/lo-ieee.cc,
liboctave/util/lo-ieee.h, liboctave/util/lo-macros.h, liboctave/util/lo-math.h,
liboctave/util/lo-regexp.cc, liboctave/util/lo-regexp.h,
liboctave/util/lo-traits.h, liboctave/util/lo-utils.cc,
liboctave/util/lo-utils.h, liboctave/util/oct-alloc.h,
liboctave/util/oct-base64.cc, liboctave/util/oct-base64.h,
liboctave/util/oct-binmap.h, liboctave/util/oct-cmplx.h,
liboctave/util/oct-glob.cc, liboctave/util/oct-glob.h,
liboctave/util/oct-inttypes-fwd.h, liboctave/util/oct-inttypes.cc,
liboctave/util/oct-inttypes.h, liboctave/util/oct-locbuf.cc,
liboctave/util/oct-locbuf.h, liboctave/util/oct-mutex.cc,
liboctave/util/oct-mutex.h, liboctave/util/oct-refcount.h,
liboctave/util/oct-rl-edit.c, liboctave/util/oct-rl-edit.h,
liboctave/util/oct-rl-hist.c, liboctave/util/oct-rl-hist.h,
liboctave/util/oct-shlib.cc, liboctave/util/oct-shlib.h,
liboctave/util/oct-sort.cc, liboctave/util/oct-sort.h,
liboctave/util/oct-sparse.h, liboctave/util/oct-string.cc,
liboctave/util/oct-string.h, liboctave/util/pathsearch.cc,
liboctave/util/pathsearch.h, liboctave/util/singleton-cleanup.cc,
liboctave/util/sparse-sort.cc, liboctave/util/sparse-sort.h,
liboctave/util/sparse-util.cc, liboctave/util/sparse-util.h,
liboctave/util/str-vec.cc, liboctave/util/str-vec.h,
liboctave/util/sun-utils.h, liboctave/util/unwind-prot.cc,
liboctave/util/unwind-prot.h, liboctave/util/url-transfer.cc,
liboctave/util/url-transfer.h, liboctave/wrappers/areadlink-wrapper.c,
liboctave/wrappers/areadlink-wrapper.h,
liboctave/wrappers/async-system-wrapper.c,
liboctave/wrappers/async-system-wrapper.h,
liboctave/wrappers/base64-wrappers.c, liboctave/wrappers/base64-wrappers.h,
liboctave/wrappers/canonicalize-file-name-wrapper.c,
liboctave/wrappers/canonicalize-file-name-wrapper.h,
liboctave/wrappers/dirent-wrappers.c, liboctave/wrappers/dirent-wrappers.h,
liboctave/wrappers/fcntl-wrappers.c, liboctave/wrappers/fcntl-wrappers.h,
liboctave/wrappers/filepos-wrappers.c, liboctave/wrappers/filepos-wrappers.h,
liboctave/wrappers/fpucw-wrappers.c, liboctave/wrappers/fpucw-wrappers.h,
liboctave/wrappers/gen-tempname-wrapper.c,
liboctave/wrappers/gen-tempname-wrapper.h, liboctave/wrappers/getopt-wrapper.c,
liboctave/wrappers/getopt-wrapper.h, liboctave/wrappers/glob-wrappers.c,
liboctave/wrappers/glob-wrappers.h, liboctave/wrappers/hash-wrappers.c,
liboctave/wrappers/hash-wrappers.h, liboctave/wrappers/math-wrappers.c,
liboctave/wrappers/math-wrappers.h, liboctave/wrappers/mkostemp-wrapper.c,
liboctave/wrappers/mkostemp-wrapper.h, liboctave/wrappers/nanosleep-wrapper.c,
liboctave/wrappers/nanosleep-wrapper.h, liboctave/wrappers/nproc-wrapper.c,
liboctave/wrappers/nproc-wrapper.h, liboctave/wrappers/octave-popen2.c,
liboctave/wrappers/octave-popen2.h, liboctave/wrappers/putenv-wrapper.c,
liboctave/wrappers/putenv-wrapper.h,
liboctave/wrappers/set-program-name-wrapper.c,
liboctave/wrappers/set-program-name-wrapper.h,
liboctave/wrappers/signal-wrappers.c, liboctave/wrappers/signal-wrappers.h,
liboctave/wrappers/stat-wrappers.c, liboctave/wrappers/stat-wrappers.h,
liboctave/wrappers/strdup-wrapper.c, liboctave/wrappers/strdup-wrapper.h,
liboctave/wrappers/strftime-wrapper.c, liboctave/wrappers/strftime-wrapper.h,
liboctave/wrappers/strmode-wrapper.c, liboctave/wrappers/strmode-wrapper.h,
liboctave/wrappers/strptime-wrapper.c, liboctave/wrappers/strptime-wrapper.h,
liboctave/wrappers/time-wrappers.c, liboctave/wrappers/time-wrappers.h,
liboctave/wrappers/tmpfile-wrapper.c, liboctave/wrappers/tmpfile-wrapper.h,
liboctave/wrappers/uname-wrapper.c, liboctave/wrappers/uname-wrapper.h,
liboctave/wrappers/unistd-wrappers.c, liboctave/wrappers/unistd-wrappers.h,
liboctave/wrappers/unsetenv-wrapper.c, liboctave/wrappers/unsetenv-wrapper.h,
liboctave/wrappers/vasprintf-wrapper.c, liboctave/wrappers/vasprintf-wrapper.h,
liboctave/wrappers/wait-for-input.c, liboctave/wrappers/wait-for-input.h,
liboctave/wrappers/wait-wrappers.c, liboctave/wrappers/wait-wrappers.h,
m4/acinclude.m4, oct-conf-post.in.h, run-octave.in, scripts/@ftp/ascii.m,
scripts/@ftp/binary.m, scripts/@ftp/cd.m, scripts/@ftp/close.m,
scripts/@ftp/delete.m, scripts/@ftp/dir.m, scripts/@ftp/display.m,
scripts/@ftp/ftp.m, scripts/@ftp/loadobj.m, scripts/@ftp/mget.m,
scripts/@ftp/mkdir.m, scripts/@ftp/mput.m, scripts/@ftp/rename.m,
scripts/@ftp/rmdir.m, scripts/@ftp/saveobj.m,
scripts/audio/@audioplayer/__get_properties__.m,
scripts/audio/@audioplayer/audioplayer.m, scripts/audio/@audioplayer/display.m,
scripts/audio/@audioplayer/get.m, scripts/audio/@audioplayer/isplaying.m,
scripts/audio/@audioplayer/pause.m, scripts/audio/@audioplayer/play.m,
scripts/audio/@audioplayer/playblocking.m, scripts/audio/@audioplayer/resume.m,
scripts/audio/@audioplayer/set.m, scripts/audio/@audioplayer/stop.m,
scripts/audio/@audioplayer/subsasgn.m, scripts/audio/@audioplayer/subsref.m,
scripts/audio/@audiorecorder/__get_properties__.m,
scripts/audio/@audiorecorder/audiorecorder.m,
scripts/audio/@audiorecorder/display.m, scripts/audio/@audiorecorder/get.m,
scripts/audio/@audiorecorder/getaudiodata.m,
scripts/audio/@audiorecorder/getplayer.m,
scripts/audio/@audiorecorder/isrecording.m,
scripts/audio/@audiorecorder/pause.m, scripts/audio/@audiorecorder/play.m,
scripts/audio/@audiorecorder/record.m,
scripts/audio/@audiorecorder/recordblocking.m,
scripts/audio/@audiorecorder/resume.m, scripts/audio/@audiorecorder/set.m,
scripts/audio/@audiorecorder/stop.m, scripts/audio/@audiorecorder/subsasgn.m,
scripts/audio/@audiorecorder/subsref.m, scripts/audio/lin2mu.m,
scripts/audio/mu2lin.m, scripts/audio/record.m, scripts/audio/sound.m,
scripts/audio/soundsc.m, scripts/deprecated/bitmax.m,
scripts/deprecated/comma.m, scripts/deprecated/isstr.m,
scripts/deprecated/mahalanobis.m, scripts/deprecated/md5sum.m,
scripts/deprecated/octave_config_info.m, scripts/deprecated/onenormest.m,
scripts/deprecated/paren.m, scripts/deprecated/semicolon.m,
scripts/deprecated/sleep.m, scripts/deprecated/usleep.m,
scripts/deprecated/wavread.m, scripts/deprecated/wavwrite.m,
scripts/elfun/acosd.m, scripts/elfun/acot.m, scripts/elfun/acotd.m,
scripts/elfun/acoth.m, scripts/elfun/acsc.m, scripts/elfun/acscd.m,
scripts/elfun/acsch.m, scripts/elfun/asec.m, scripts/elfun/asecd.m,
scripts/elfun/asech.m, scripts/elfun/asind.m, scripts/elfun/atan2d.m,
scripts/elfun/atand.m, scripts/elfun/cosd.m, scripts/elfun/cot.m,
scripts/elfun/cotd.m, scripts/elfun/coth.m, scripts/elfun/csc.m,
scripts/elfun/cscd.m, scripts/elfun/csch.m, scripts/elfun/sec.m,
scripts/elfun/secd.m, scripts/elfun/sech.m, scripts/elfun/sind.m,
scripts/elfun/tand.m, scripts/general/accumarray.m, scripts/general/accumdim.m,
scripts/general/bincoeff.m, scripts/general/bitcmp.m, scripts/general/bitget.m,
scripts/general/bitset.m, scripts/general/blkdiag.m,
scripts/general/cart2pol.m, scripts/general/cart2sph.m,
scripts/general/cell2mat.m, scripts/general/celldisp.m, scripts/general/chop.m,
scripts/general/circshift.m, scripts/general/common_size.m,
scripts/general/cplxpair.m, scripts/general/cumtrapz.m, scripts/general/curl.m,
scripts/general/dblquad.m, scripts/general/deal.m, scripts/general/deg2rad.m,
scripts/general/del2.m, scripts/general/display.m,
scripts/general/divergence.m, scripts/general/fieldnames.m,
scripts/general/flip.m, scripts/general/flipdim.m, scripts/general/fliplr.m,
scripts/general/flipud.m, scripts/general/grabcode.m,
scripts/general/gradient.m, scripts/general/idivide.m,
scripts/general/inputParser.m, scripts/general/int2str.m,
scripts/general/interp1.m, scripts/general/interp2.m,
scripts/general/interp3.m, scripts/general/interpft.m,
scripts/general/interpn.m, scripts/general/isdir.m, scripts/general/isequal.m,
scripts/general/isequaln.m, scripts/general/loadobj.m,
scripts/general/logspace.m, scripts/general/methods.m,
scripts/general/nargchk.m, scripts/general/narginchk.m,
scripts/general/nargoutchk.m, scripts/general/nextpow2.m,
scripts/general/nthargout.m, scripts/general/num2str.m,
scripts/general/pol2cart.m, scripts/general/polyarea.m,
scripts/general/postpad.m, scripts/general/prepad.m,
scripts/general/private/__isequal__.m, scripts/general/private/__splinen__.m,
scripts/general/publish.m, scripts/general/quadgk.m, scripts/general/quadl.m,
scripts/general/quadv.m, scripts/general/rad2deg.m, scripts/general/randi.m,
scripts/general/rat.m, scripts/general/repmat.m, scripts/general/rot90.m,
scripts/general/rotdim.m, scripts/general/saveobj.m, scripts/general/shift.m,
scripts/general/shiftdim.m, scripts/general/sortrows.m,
scripts/general/sph2cart.m, scripts/general/structfun.m,
scripts/general/subsindex.m, scripts/general/trapz.m,
scripts/general/triplequad.m, scripts/general/validateattributes.m,
scripts/geometry/convhull.m, scripts/geometry/delaunay.m,
scripts/geometry/delaunayn.m, scripts/geometry/dsearch.m,
scripts/geometry/dsearchn.m, scripts/geometry/griddata.m,
scripts/geometry/griddata3.m, scripts/geometry/griddatan.m,
scripts/geometry/inpolygon.m, scripts/geometry/rectint.m,
scripts/geometry/tsearchn.m, scripts/geometry/voronoi.m,
scripts/geometry/voronoin.m, scripts/gui/dialog.m, scripts/gui/errordlg.m,
scripts/gui/guidata.m, scripts/gui/guihandles.m, scripts/gui/helpdlg.m,
scripts/gui/inputdlg.m, scripts/gui/listdlg.m, scripts/gui/msgbox.m,
scripts/gui/private/__file_filter__.m,
scripts/gui/private/__fltk_file_filter__.m,
scripts/gui/private/__get_funcname__.m, scripts/gui/private/__is_function__.m,
scripts/gui/private/__uigetdir_fltk__.m,
scripts/gui/private/__uigetfile_fltk__.m,
scripts/gui/private/__uiobject_split_args__.m,
scripts/gui/private/__uiputfile_fltk__.m, scripts/gui/questdlg.m,
scripts/gui/uibuttongroup.m, scripts/gui/uicontextmenu.m,
scripts/gui/uicontrol.m, scripts/gui/uigetdir.m, scripts/gui/uigetfile.m,
scripts/gui/uimenu.m, scripts/gui/uipanel.m, scripts/gui/uipushtool.m,
scripts/gui/uiputfile.m, scripts/gui/uiresume.m, scripts/gui/uitoggletool.m,
scripts/gui/uitoolbar.m, scripts/gui/uiwait.m, scripts/gui/waitbar.m,
scripts/gui/waitforbuttonpress.m, scripts/gui/warndlg.m,
scripts/help/__gripe_missing_component__.m, scripts/help/__makeinfo__.m,
scripts/help/__unimplemented__.m, scripts/help/ans.m, scripts/help/doc.m,
scripts/help/doc_cache_create.m, scripts/help/error_ids.m,
scripts/help/get_first_help_sentence.m, scripts/help/help.m,
scripts/help/lookfor.m, scripts/help/print_usage.m,
scripts/help/private/__additional_help_message__.m,
scripts/help/private/__strip_html_tags__.m, scripts/help/type.m,
scripts/help/warning_ids.m, scripts/help/which.m, scripts/image/autumn.m,
scripts/image/bone.m, scripts/image/brighten.m, scripts/image/cmpermute.m,
scripts/image/cmunique.m, scripts/image/colorcube.m, scripts/image/colormap.m,
scripts/image/contrast.m, scripts/image/cool.m, scripts/image/copper.m,
scripts/image/cubehelix.m, scripts/image/flag.m, scripts/image/gray.m,
scripts/image/gray2ind.m, scripts/image/hot.m, scripts/image/hsv.m,
scripts/image/hsv2rgb.m, scripts/image/im2double.m, scripts/image/image.m,
scripts/image/imagesc.m, scripts/image/imfinfo.m, scripts/image/imformats.m,
scripts/image/imread.m, scripts/image/imshow.m, scripts/image/imwrite.m,
scripts/image/ind2gray.m, scripts/image/ind2rgb.m, scripts/image/iscolormap.m,
scripts/image/jet.m, scripts/image/lines.m, scripts/image/ntsc2rgb.m,
scripts/image/ocean.m, scripts/image/pink.m, scripts/image/prism.m,
scripts/image/private/__imfinfo__.m, scripts/image/private/__imread__.m,
scripts/image/private/__imwrite__.m,
scripts/image/private/colorspace_conversion_input_check.m,
scripts/image/private/colorspace_conversion_revert.m,
scripts/image/private/imageIO.m, scripts/image/private/imwrite_filename.m,
scripts/image/private/ind2x.m, scripts/image/rainbow.m,
scripts/image/rgb2hsv.m, scripts/image/rgb2ind.m, scripts/image/rgb2ntsc.m,
scripts/image/rgbplot.m, scripts/image/spinmap.m, scripts/image/spring.m,
scripts/image/summer.m, scripts/image/viridis.m, scripts/image/white.m,
scripts/image/winter.m, scripts/io/beep.m, scripts/io/csvread.m,
scripts/io/csvwrite.m, scripts/io/dlmwrite.m, scripts/io/fileread.m,
scripts/io/importdata.m, scripts/io/is_valid_file_id.m, scripts/io/strread.m,
scripts/io/textread.m, scripts/java/javaArray.m, scripts/java/java_get.m,
scripts/java/java_set.m, scripts/java/javaaddpath.m, scripts/java/javachk.m,
scripts/java/javaclasspath.m, scripts/java/javamem.m,
scripts/java/javarmpath.m, scripts/java/org/octave/ClassHelper.java,
scripts/java/org/octave/Matrix.java,
scripts/java/org/octave/OctClassLoader.java,
scripts/java/org/octave/Octave.java,
scripts/java/org/octave/OctaveReference.java, scripts/java/usejava.m,
scripts/linear-algebra/bandwidth.m,
scripts/linear-algebra/commutation_matrix.m, scripts/linear-algebra/cond.m,
scripts/linear-algebra/condeig.m, scripts/linear-algebra/condest.m,
scripts/linear-algebra/cross.m, scripts/linear-algebra/duplication_matrix.m,
scripts/linear-algebra/expm.m, scripts/linear-algebra/housh.m,
scripts/linear-algebra/isbanded.m, scripts/linear-algebra/isdefinite.m,
scripts/linear-algebra/isdiag.m, scripts/linear-algebra/ishermitian.m,
scripts/linear-algebra/issymmetric.m, scripts/linear-algebra/istril.m,
scripts/linear-algebra/istriu.m, scripts/linear-algebra/krylov.m,
scripts/linear-algebra/linsolve.m, scripts/linear-algebra/logm.m,
scripts/linear-algebra/normest.m, scripts/linear-algebra/normest1.m,
scripts/linear-algebra/null.m, scripts/linear-algebra/orth.m,
scripts/linear-algebra/planerot.m, scripts/linear-algebra/qzhess.m,
scripts/linear-algebra/rank.m, scripts/linear-algebra/rref.m,
scripts/linear-algebra/subspace.m, scripts/linear-algebra/trace.m,
scripts/linear-algebra/vech.m, scripts/miscellaneous/bug_report.m,
scripts/miscellaneous/bunzip2.m, scripts/miscellaneous/cast.m,
scripts/miscellaneous/citation.m, scripts/miscellaneous/compare_versions.m,
scripts/miscellaneous/computer.m, scripts/miscellaneous/copyfile.m,
scripts/miscellaneous/debug.m, scripts/miscellaneous/delete.m,
scripts/miscellaneous/desktop.m, scripts/miscellaneous/dir.m,
scripts/miscellaneous/dos.m, scripts/miscellaneous/edit.m,
scripts/miscellaneous/fact.m, scripts/miscellaneous/fileattrib.m,
scripts/miscellaneous/fileparts.m, scripts/miscellaneous/fullfile.m,
scripts/miscellaneous/genvarname.m, scripts/miscellaneous/getappdata.m,
scripts/miscellaneous/getfield.m, scripts/miscellaneous/gunzip.m,
scripts/miscellaneous/info.m, scripts/miscellaneous/inputname.m,
scripts/miscellaneous/isappdata.m, scripts/miscellaneous/isdeployed.m,
scripts/miscellaneous/ismac.m, scripts/miscellaneous/ispc.m,
scripts/miscellaneous/isunix.m, scripts/miscellaneous/license.m,
scripts/miscellaneous/list_primes.m, scripts/miscellaneous/ls.m,
scripts/miscellaneous/ls_command.m, scripts/miscellaneous/menu.m,
scripts/miscellaneous/mex.m, scripts/miscellaneous/mexext.m,
scripts/miscellaneous/mkdir.m, scripts/miscellaneous/mkoctfile.m,
scripts/miscellaneous/movefile.m, scripts/miscellaneous/namelengthmax.m,
scripts/miscellaneous/news.m, scripts/miscellaneous/open.m,
scripts/miscellaneous/orderfields.m, scripts/miscellaneous/pack.m,
scripts/miscellaneous/parseparams.m, scripts/miscellaneous/perl.m,
scripts/miscellaneous/private/__w2mpth__.m,
scripts/miscellaneous/private/display_info_file.m,
scripts/miscellaneous/python.m, scripts/miscellaneous/recycle.m,
scripts/miscellaneous/rmappdata.m, scripts/miscellaneous/run.m,
scripts/miscellaneous/setappdata.m, scripts/miscellaneous/setfield.m,
scripts/miscellaneous/substruct.m, scripts/miscellaneous/swapbytes.m,
scripts/miscellaneous/symvar.m, scripts/miscellaneous/tar.m,
scripts/miscellaneous/tempdir.m, scripts/miscellaneous/tmpnam.m,
scripts/miscellaneous/unix.m, scripts/miscellaneous/unpack.m,
scripts/miscellaneous/untar.m, scripts/miscellaneous/unzip.m,
scripts/miscellaneous/ver.m, scripts/miscellaneous/version.m,
scripts/miscellaneous/what.m, scripts/miscellaneous/xor.m,
scripts/miscellaneous/zip.m, scripts/mk-pkg-add, scripts/mkdoc.pl,
scripts/ode/ode23.m, scripts/ode/ode45.m, scripts/ode/odeget.m,
scripts/ode/odeplot.m, scripts/ode/odeset.m, scripts/ode/private/AbsRel_norm.m,
scripts/ode/private/integrate_adaptive.m, scripts/ode/private/kahan.m,
scripts/ode/private/ode_event_handler.m, scripts/ode/private/odedefaults.m,
scripts/ode/private/odemergeopts.m, scripts/ode/private/runge_kutta_23.m,
scripts/ode/private/runge_kutta_45_dorpri.m,
scripts/ode/private/runge_kutta_interpolate.m,
scripts/ode/private/starting_stepsize.m, scripts/optimization/__all_opts__.m,
scripts/optimization/fminbnd.m, scripts/optimization/fminsearch.m,
scripts/optimization/fminunc.m, scripts/optimization/fsolve.m,
scripts/optimization/fzero.m, scripts/optimization/glpk.m,
scripts/optimization/lsqnonneg.m, scripts/optimization/optimget.m,
scripts/optimization/optimset.m, scripts/optimization/pqpnonneg.m,
scripts/optimization/private/__fdjac__.m, scripts/optimization/qp.m,
scripts/optimization/sqp.m, scripts/path/matlabroot.m, scripts/path/pathdef.m,
scripts/path/private/getsavepath.m, scripts/path/savepath.m, scripts/pkg/pkg.m,
scripts/pkg/private/build.m, scripts/pkg/private/configure_make.m,
scripts/pkg/private/default_prefix.m, scripts/pkg/private/describe.m,
scripts/pkg/private/dirempty.m, scripts/pkg/private/get_description.m,
scripts/pkg/private/get_forge_download.m, scripts/pkg/private/get_forge_pkg.m,
scripts/pkg/private/get_unsatisfied_deps.m, scripts/pkg/private/getarch.m,
scripts/pkg/private/getarchdir.m, scripts/pkg/private/install.m,
scripts/pkg/private/installed_packages.m,
scripts/pkg/private/list_forge_packages.m, scripts/pkg/private/load_packages.m,
scripts/pkg/private/load_packages_and_dependencies.m,
scripts/pkg/private/rebuild.m, scripts/pkg/private/save_order.m,
scripts/pkg/private/uninstall.m, scripts/pkg/private/unload_packages.m,
scripts/plot/appearance/__clabel__.m,
scripts/plot/appearance/__getlegenddata__.m,
scripts/plot/appearance/annotation.m, scripts/plot/appearance/axis.m,
scripts/plot/appearance/box.m, scripts/plot/appearance/caxis.m,
scripts/plot/appearance/clabel.m, scripts/plot/appearance/daspect.m,
scripts/plot/appearance/datetick.m, scripts/plot/appearance/diffuse.m,
scripts/plot/appearance/grid.m, scripts/plot/appearance/gtext.m,
scripts/plot/appearance/hidden.m, scripts/plot/appearance/legend.m,
scripts/plot/appearance/lighting.m, scripts/plot/appearance/material.m,
scripts/plot/appearance/orient.m, scripts/plot/appearance/pbaspect.m,
scripts/plot/appearance/private/__axis_label__.m,
scripts/plot/appearance/private/__axis_limits__.m,
scripts/plot/appearance/shading.m, scripts/plot/appearance/specular.m,
scripts/plot/appearance/text.m, scripts/plot/appearance/title.m,
scripts/plot/appearance/view.m, scripts/plot/appearance/whitebg.m,
scripts/plot/appearance/xlabel.m, scripts/plot/appearance/xlim.m,
scripts/plot/appearance/ylabel.m, scripts/plot/appearance/ylim.m,
scripts/plot/appearance/zlabel.m, scripts/plot/appearance/zlim.m,
scripts/plot/draw/area.m, scripts/plot/draw/bar.m, scripts/plot/draw/barh.m,
scripts/plot/draw/camlight.m, scripts/plot/draw/colorbar.m,
scripts/plot/draw/comet.m, scripts/plot/draw/comet3.m,
scripts/plot/draw/compass.m, scripts/plot/draw/contour.m,
scripts/plot/draw/contour3.m, scripts/plot/draw/contourc.m,
scripts/plot/draw/contourf.m, scripts/plot/draw/cylinder.m,
scripts/plot/draw/ellipsoid.m, scripts/plot/draw/errorbar.m,
scripts/plot/draw/ezcontour.m, scripts/plot/draw/ezcontourf.m,
scripts/plot/draw/ezmesh.m, scripts/plot/draw/ezmeshc.m,
scripts/plot/draw/ezplot.m, scripts/plot/draw/ezplot3.m,
scripts/plot/draw/ezpolar.m, scripts/plot/draw/ezsurf.m,
scripts/plot/draw/ezsurfc.m, scripts/plot/draw/feather.m,
scripts/plot/draw/fill.m, scripts/plot/draw/fplot.m, scripts/plot/draw/hist.m,
scripts/plot/draw/isocaps.m, scripts/plot/draw/isocolors.m,
scripts/plot/draw/isonormals.m, scripts/plot/draw/isosurface.m,
scripts/plot/draw/light.m, scripts/plot/draw/line.m,
scripts/plot/draw/loglog.m, scripts/plot/draw/loglogerr.m,
scripts/plot/draw/mesh.m, scripts/plot/draw/meshc.m, scripts/plot/draw/meshz.m,
scripts/plot/draw/pareto.m, scripts/plot/draw/patch.m,
scripts/plot/draw/pcolor.m, scripts/plot/draw/peaks.m, scripts/plot/draw/pie.m,
scripts/plot/draw/pie3.m, scripts/plot/draw/plot.m, scripts/plot/draw/plot3.m,
scripts/plot/draw/plotmatrix.m, scripts/plot/draw/plotyy.m,
scripts/plot/draw/polar.m, scripts/plot/draw/private/__add_datasource__.m,
scripts/plot/draw/private/__bar__.m,
scripts/plot/draw/private/__calc_isovalue_from_data__.m,
scripts/plot/draw/private/__contour__.m,
scripts/plot/draw/private/__errplot__.m,
scripts/plot/draw/private/__ezplot__.m,
scripts/plot/draw/private/__interp_cube__.m,
scripts/plot/draw/private/__line__.m,
scripts/plot/draw/private/__marching_cube__.m,
scripts/plot/draw/private/__patch__.m, scripts/plot/draw/private/__pie__.m,
scripts/plot/draw/private/__plt__.m, scripts/plot/draw/private/__quiver__.m,
scripts/plot/draw/private/__rotate_around_axis__.m,
scripts/plot/draw/private/__scatter__.m, scripts/plot/draw/private/__stem__.m,
scripts/plot/draw/private/__unite_shared_vertices__.m,
scripts/plot/draw/quiver.m, scripts/plot/draw/quiver3.m,
scripts/plot/draw/rectangle.m, scripts/plot/draw/reducepatch.m,
scripts/plot/draw/reducevolume.m, scripts/plot/draw/ribbon.m,
scripts/plot/draw/rose.m, scripts/plot/draw/scatter.m,
scripts/plot/draw/scatter3.m, scripts/plot/draw/semilogx.m,
scripts/plot/draw/semilogxerr.m, scripts/plot/draw/semilogy.m,
scripts/plot/draw/semilogyerr.m, scripts/plot/draw/shrinkfaces.m,
scripts/plot/draw/slice.m, scripts/plot/draw/smooth3.m,
scripts/plot/draw/sombrero.m, scripts/plot/draw/sphere.m,
scripts/plot/draw/stairs.m, scripts/plot/draw/stem.m,
scripts/plot/draw/stem3.m, scripts/plot/draw/stemleaf.m,
scripts/plot/draw/surf.m, scripts/plot/draw/surface.m,
scripts/plot/draw/surfc.m, scripts/plot/draw/surfl.m,
scripts/plot/draw/surfnorm.m, scripts/plot/draw/tetramesh.m,
scripts/plot/draw/trimesh.m, scripts/plot/draw/triplot.m,
scripts/plot/draw/trisurf.m, scripts/plot/draw/waterfall.m,
scripts/plot/util/__actual_axis_position__.m,
scripts/plot/util/__default_plot_options__.m,
scripts/plot/util/__gnuplot_drawnow__.m,
scripts/plot/util/__next_line_color__.m,
scripts/plot/util/__next_line_style__.m, scripts/plot/util/__opengl_info__.m,
scripts/plot/util/__plt_get_axis_arg__.m, scripts/plot/util/__pltopt__.m,
scripts/plot/util/allchild.m, scripts/plot/util/ancestor.m,
scripts/plot/util/axes.m, scripts/plot/util/cla.m, scripts/plot/util/clf.m,
scripts/plot/util/close.m, scripts/plot/util/closereq.m,
scripts/plot/util/colstyle.m, scripts/plot/util/copyobj.m,
scripts/plot/util/figure.m, scripts/plot/util/findall.m,
scripts/plot/util/findfigs.m, scripts/plot/util/findobj.m,
scripts/plot/util/frame2im.m, scripts/plot/util/gca.m,
scripts/plot/util/gcbf.m, scripts/plot/util/gcbo.m, scripts/plot/util/gcf.m,
scripts/plot/util/gco.m, scripts/plot/util/ginput.m,
scripts/plot/util/gnuplot_binary.in.m, scripts/plot/util/graphics_toolkit.m,
scripts/plot/util/hdl2struct.m, scripts/plot/util/hggroup.m,
scripts/plot/util/hgload.m, scripts/plot/util/hgsave.m,
scripts/plot/util/hold.m, scripts/plot/util/im2frame.m,
scripts/plot/util/isaxes.m, scripts/plot/util/isfigure.m,
scripts/plot/util/ishghandle.m, scripts/plot/util/ishold.m,
scripts/plot/util/isprop.m, scripts/plot/util/linkaxes.m,
scripts/plot/util/linkprop.m, scripts/plot/util/meshgrid.m,
scripts/plot/util/ndgrid.m, scripts/plot/util/newplot.m,
scripts/plot/util/pan.m, scripts/plot/util/print.m, scripts/plot/util/printd.m,
scripts/plot/util/private/__add_default_menu__.m,
scripts/plot/util/private/__ghostscript__.m,
scripts/plot/util/private/__gnuplot_draw_axes__.m,
scripts/plot/util/private/__gnuplot_draw_figure__.m,
scripts/plot/util/private/__gnuplot_get_var__.m,
scripts/plot/util/private/__gnuplot_ginput__.m,
scripts/plot/util/private/__gnuplot_has_feature__.m,
scripts/plot/util/private/__gnuplot_has_terminal__.m,
scripts/plot/util/private/__gnuplot_open_stream__.m,
scripts/plot/util/private/__gnuplot_print__.m,
scripts/plot/util/private/__gnuplot_version__.m,
scripts/plot/util/private/__opengl_print__.m,
scripts/plot/util/private/__print_parse_opts__.m, scripts/plot/util/refresh.m,
scripts/plot/util/refreshdata.m, scripts/plot/util/rotate.m,
scripts/plot/util/rotate3d.m, scripts/plot/util/saveas.m,
scripts/plot/util/shg.m, scripts/plot/util/struct2hdl.m,
scripts/plot/util/subplot.m, scripts/plot/util/zoom.m,
scripts/polynomial/compan.m, scripts/polynomial/conv.m,
scripts/polynomial/deconv.m, scripts/polynomial/mkpp.m,
scripts/polynomial/mpoles.m, scripts/polynomial/padecoef.m,
scripts/polynomial/pchip.m, scripts/polynomial/poly.m,
scripts/polynomial/polyaffine.m, scripts/polynomial/polyder.m,
scripts/polynomial/polyeig.m, scripts/polynomial/polyfit.m,
scripts/polynomial/polygcd.m, scripts/polynomial/polyint.m,
scripts/polynomial/polyout.m, scripts/polynomial/polyreduce.m,
scripts/polynomial/polyval.m, scripts/polynomial/polyvalm.m,
scripts/polynomial/ppder.m, scripts/polynomial/ppint.m,
scripts/polynomial/ppjumps.m, scripts/polynomial/ppval.m,
scripts/polynomial/residue.m, scripts/polynomial/roots.m,
scripts/polynomial/spline.m, scripts/polynomial/splinefit.m,
scripts/polynomial/unmkpp.m, scripts/prefs/addpref.m, scripts/prefs/getpref.m,
scripts/prefs/ispref.m, scripts/prefs/prefdir.m, scripts/prefs/preferences.m,
scripts/prefs/private/loadprefs.m, scripts/prefs/private/prefsfile.m,
scripts/prefs/private/saveprefs.m, scripts/prefs/rmpref.m,
scripts/prefs/setpref.m, scripts/profiler/html/style.css,
scripts/profiler/profexplore.m, scripts/profiler/profexport.m,
scripts/profiler/profile.m, scripts/profiler/profshow.m,
scripts/set/intersect.m, scripts/set/ismember.m, scripts/set/powerset.m,
scripts/set/private/validsetargs.m, scripts/set/setdiff.m,
scripts/set/setxor.m, scripts/set/union.m, scripts/set/unique.m,
scripts/signal/arch_fit.m, scripts/signal/arch_rnd.m,
scripts/signal/arch_test.m, scripts/signal/arma_rnd.m,
scripts/signal/autoreg_matrix.m, scripts/signal/bartlett.m,
scripts/signal/blackman.m, scripts/signal/detrend.m, scripts/signal/diffpara.m,
scripts/signal/durbinlevinson.m, scripts/signal/fftconv.m,
scripts/signal/fftfilt.m, scripts/signal/fftshift.m, scripts/signal/filter2.m,
scripts/signal/fractdiff.m, scripts/signal/freqz.m,
scripts/signal/freqz_plot.m, scripts/signal/hamming.m,
scripts/signal/hanning.m, scripts/signal/hurst.m, scripts/signal/ifftshift.m,
scripts/signal/periodogram.m, scripts/signal/private/rectangle_lw.m,
scripts/signal/private/rectangle_sw.m, scripts/signal/private/triangle_lw.m,
scripts/signal/private/triangle_sw.m, scripts/signal/sinc.m,
scripts/signal/sinetone.m, scripts/signal/sinewave.m,
scripts/signal/spectral_adf.m, scripts/signal/spectral_xdf.m,
scripts/signal/spencer.m, scripts/signal/stft.m, scripts/signal/synthesis.m,
scripts/signal/unwrap.m, scripts/signal/yulewalker.m, scripts/sparse/bicg.m,
scripts/sparse/bicgstab.m, scripts/sparse/cgs.m, scripts/sparse/colperm.m,
scripts/sparse/eigs.m, scripts/sparse/etreeplot.m, scripts/sparse/gmres.m,
scripts/sparse/gplot.m, scripts/sparse/ichol.m, scripts/sparse/ilu.m,
scripts/sparse/nonzeros.m, scripts/sparse/pcg.m, scripts/sparse/pcr.m,
scripts/sparse/private/__sprand__.m, scripts/sparse/qmr.m,
scripts/sparse/spaugment.m, scripts/sparse/spconvert.m,
scripts/sparse/spdiags.m, scripts/sparse/speye.m, scripts/sparse/spfun.m,
scripts/sparse/spones.m, scripts/sparse/sprand.m, scripts/sparse/sprandn.m,
scripts/sparse/sprandsym.m, scripts/sparse/spstats.m, scripts/sparse/spy.m,
scripts/sparse/svds.m, scripts/sparse/treelayout.m, scripts/sparse/treeplot.m,
scripts/specfun/bessel.m, scripts/specfun/beta.m, scripts/specfun/betaln.m,
scripts/specfun/ellipke.m, scripts/specfun/expint.m, scripts/specfun/factor.m,
scripts/specfun/factorial.m, scripts/specfun/isprime.m, scripts/specfun/lcm.m,
scripts/specfun/legendre.m, scripts/specfun/nchoosek.m,
scripts/specfun/nthroot.m, scripts/specfun/perms.m, scripts/specfun/pow2.m,
scripts/specfun/primes.m, scripts/specfun/reallog.m, scripts/specfun/realpow.m,
scripts/specfun/realsqrt.m, scripts/special-matrix/gallery.m,
scripts/special-matrix/hadamard.m, scripts/special-matrix/hankel.m,
scripts/special-matrix/hilb.m, scripts/special-matrix/invhilb.m,
scripts/special-matrix/magic.m, scripts/special-matrix/pascal.m,
scripts/special-matrix/rosser.m, scripts/special-matrix/toeplitz.m,
scripts/special-matrix/vander.m, scripts/special-matrix/wilkinson.m,
scripts/startup/__finish__.m, scripts/statistics/base/center.m,
scripts/statistics/base/cloglog.m, scripts/statistics/base/corr.m,
scripts/statistics/base/cov.m, scripts/statistics/base/gls.m,
scripts/statistics/base/histc.m, scripts/statistics/base/iqr.m,
scripts/statistics/base/kendall.m, scripts/statistics/base/kurtosis.m,
scripts/statistics/base/logit.m, scripts/statistics/base/lscov.m,
scripts/statistics/base/mean.m, scripts/statistics/base/meansq.m,
scripts/statistics/base/median.m, scripts/statistics/base/mode.m,
scripts/statistics/base/moment.m, scripts/statistics/base/ols.m,
scripts/statistics/base/ppplot.m, scripts/statistics/base/prctile.m,
scripts/statistics/base/probit.m, scripts/statistics/base/qqplot.m,
scripts/statistics/base/quantile.m, scripts/statistics/base/range.m,
scripts/statistics/base/ranks.m, scripts/statistics/base/run_count.m,
scripts/statistics/base/runlength.m, scripts/statistics/base/skewness.m,
scripts/statistics/base/spearman.m, scripts/statistics/base/statistics.m,
scripts/statistics/base/std.m, scripts/statistics/base/table.m,
scripts/statistics/base/var.m, scripts/statistics/base/zscore.m,
scripts/statistics/distributions/betacdf.m,
scripts/statistics/distributions/betainv.m,
scripts/statistics/distributions/betapdf.m,
scripts/statistics/distributions/betarnd.m,
scripts/statistics/distributions/binocdf.m,
scripts/statistics/distributions/binoinv.m,
scripts/statistics/distributions/binopdf.m,
scripts/statistics/distributions/binornd.m,
scripts/statistics/distributions/cauchy_cdf.m,
scripts/statistics/distributions/cauchy_inv.m,
scripts/statistics/distributions/cauchy_pdf.m,
scripts/statistics/distributions/cauchy_rnd.m,
scripts/statistics/distributions/chi2cdf.m,
scripts/statistics/distributions/chi2inv.m,
scripts/statistics/distributions/chi2pdf.m,
scripts/statistics/distributions/chi2rnd.m,
scripts/statistics/distributions/discrete_cdf.m,
scripts/statistics/distributions/discrete_inv.m,
scripts/statistics/distributions/discrete_pdf.m,
scripts/statistics/distributions/discrete_rnd.m,
scripts/statistics/distributions/empirical_cdf.m,
scripts/statistics/distributions/empirical_inv.m,
scripts/statistics/distributions/empirical_pdf.m,
scripts/statistics/distributions/empirical_rnd.m,
scripts/statistics/distributions/expcdf.m,
scripts/statistics/distributions/expinv.m,
scripts/statistics/distributions/exppdf.m,
scripts/statistics/distributions/exprnd.m,
scripts/statistics/distributions/fcdf.m,
scripts/statistics/distributions/finv.m,
scripts/statistics/distributions/fpdf.m,
scripts/statistics/distributions/frnd.m,
scripts/statistics/distributions/gamcdf.m,
scripts/statistics/distributions/gaminv.m,
scripts/statistics/distributions/gampdf.m,
scripts/statistics/distributions/gamrnd.m,
scripts/statistics/distributions/geocdf.m,
scripts/statistics/distributions/geoinv.m,
scripts/statistics/distributions/geopdf.m,
scripts/statistics/distributions/geornd.m,
scripts/statistics/distributions/hygecdf.m,
scripts/statistics/distributions/hygeinv.m,
scripts/statistics/distributions/hygepdf.m,
scripts/statistics/distributions/hygernd.m,
scripts/statistics/distributions/kolmogorov_smirnov_cdf.m,
scripts/statistics/distributions/laplace_cdf.m,
scripts/statistics/distributions/laplace_inv.m,
scripts/statistics/distributions/laplace_pdf.m,
scripts/statistics/distributions/laplace_rnd.m,
scripts/statistics/distributions/logistic_cdf.m,
scripts/statistics/distributions/logistic_inv.m,
scripts/statistics/distributions/logistic_pdf.m,
scripts/statistics/distributions/logistic_rnd.m,
scripts/statistics/distributions/logncdf.m,
scripts/statistics/distributions/logninv.m,
scripts/statistics/distributions/lognpdf.m,
scripts/statistics/distributions/lognrnd.m,
scripts/statistics/distributions/nbincdf.m,
scripts/statistics/distributions/nbininv.m,
scripts/statistics/distributions/nbinpdf.m,
scripts/statistics/distributions/nbinrnd.m,
scripts/statistics/distributions/normcdf.m,
scripts/statistics/distributions/norminv.m,
scripts/statistics/distributions/normpdf.m,
scripts/statistics/distributions/normrnd.m,
scripts/statistics/distributions/poisscdf.m,
scripts/statistics/distributions/poissinv.m,
scripts/statistics/distributions/poisspdf.m,
scripts/statistics/distributions/poissrnd.m,
scripts/statistics/distributions/stdnormal_cdf.m,
scripts/statistics/distributions/stdnormal_inv.m,
scripts/statistics/distributions/stdnormal_pdf.m,
scripts/statistics/distributions/stdnormal_rnd.m,
scripts/statistics/distributions/tcdf.m,
scripts/statistics/distributions/tinv.m,
scripts/statistics/distributions/tpdf.m,
scripts/statistics/distributions/trnd.m,
scripts/statistics/distributions/unidcdf.m,
scripts/statistics/distributions/unidinv.m,
scripts/statistics/distributions/unidpdf.m,
scripts/statistics/distributions/unidrnd.m,
scripts/statistics/distributions/unifcdf.m,
scripts/statistics/distributions/unifinv.m,
scripts/statistics/distributions/unifpdf.m,
scripts/statistics/distributions/unifrnd.m,
scripts/statistics/distributions/wblcdf.m,
scripts/statistics/distributions/wblinv.m,
scripts/statistics/distributions/wblpdf.m,
scripts/statistics/distributions/wblrnd.m,
scripts/statistics/distributions/wienrnd.m,
scripts/statistics/models/logistic_regression.m,
scripts/statistics/models/private/logistic_regression_derivatives.m,
scripts/statistics/models/private/logistic_regression_likelihood.m,
scripts/statistics/tests/anova.m, scripts/statistics/tests/bartlett_test.m,
scripts/statistics/tests/chisquare_test_homogeneity.m,
scripts/statistics/tests/chisquare_test_independence.m,
scripts/statistics/tests/cor_test.m,
scripts/statistics/tests/f_test_regression.m,
scripts/statistics/tests/hotelling_test.m,
scripts/statistics/tests/hotelling_test_2.m,
scripts/statistics/tests/kolmogorov_smirnov_test.m,
scripts/statistics/tests/kolmogorov_smirnov_test_2.m,
scripts/statistics/tests/kruskal_wallis_test.m,
scripts/statistics/tests/manova.m, scripts/statistics/tests/mcnemar_test.m,
scripts/statistics/tests/prop_test_2.m, scripts/statistics/tests/run_test.m,
scripts/statistics/tests/sign_test.m, scripts/statistics/tests/t_test.m,
scripts/statistics/tests/t_test_2.m,
scripts/statistics/tests/t_test_regression.m,
scripts/statistics/tests/u_test.m, scripts/statistics/tests/var_test.m,
scripts/statistics/tests/welch_test.m,
scripts/statistics/tests/wilcoxon_test.m, scripts/statistics/tests/z_test.m,
scripts/statistics/tests/z_test_2.m, scripts/strings/base2dec.m,
scripts/strings/bin2dec.m, scripts/strings/blanks.m, scripts/strings/cstrcat.m,
scripts/strings/deblank.m, scripts/strings/dec2base.m,
scripts/strings/dec2bin.m, scripts/strings/dec2hex.m,
scripts/strings/findstr.m, scripts/strings/hex2dec.m, scripts/strings/index.m,
scripts/strings/isletter.m, scripts/strings/isstrprop.m,
scripts/strings/mat2str.m, scripts/strings/ostrsplit.m,
scripts/strings/regexptranslate.m, scripts/strings/rindex.m,
scripts/strings/str2num.m, scripts/strings/strcat.m, scripts/strings/strchr.m,
scripts/strings/strjoin.m, scripts/strings/strjust.m,
scripts/strings/strmatch.m, scripts/strings/strsplit.m,
scripts/strings/strtok.m, scripts/strings/strtrim.m,
scripts/strings/strtrunc.m, scripts/strings/substr.m,
scripts/strings/untabify.m, scripts/strings/validatestring.m,
scripts/testfun/__have_feature__.m, scripts/testfun/__printf_assert__.m,
scripts/testfun/__prog_output_assert__.m, scripts/testfun/__run_test_suite__.m,
scripts/testfun/assert.m, scripts/testfun/demo.m, scripts/testfun/example.m,
scripts/testfun/fail.m, scripts/testfun/private/compare_plot_demos.m,
scripts/testfun/private/dump_demos.m,
scripts/testfun/private/html_compare_plot_demos.m, scripts/testfun/rundemos.m,
scripts/testfun/runtests.m, scripts/testfun/speed.m, scripts/testfun/test.m,
scripts/time/addtodate.m, scripts/time/asctime.m, scripts/time/calendar.m,
scripts/time/clock.m, scripts/time/ctime.m, scripts/time/date.m,
scripts/time/datenum.m, scripts/time/datestr.m, scripts/time/datevec.m,
scripts/time/eomday.m, scripts/time/etime.m, scripts/time/is_leap_year.m,
scripts/time/now.m, scripts/time/weekday.m, src/display-available.c,
src/display-available.h, src/main-cli.cc, src/main-gui.cc, src/main.in.cc,
src/mkoctfile.in.cc, src/octave-build-info.h, src/octave-build-info.in.cc,
src/octave-config.in.cc, src/shared-fcns.h, test/args.tst,
test/classdef/classdef.tst, test/classes/classes.tst, test/colormaps.tst,
test/complex.tst, test/ctor-vs-method/ctor-vs-method.tst, test/diag-perm.tst,
test/error.tst, test/eval-catch.tst,
test/fcn-handle-derived-resolution/fcn-handle-derived-resolution.tst,
test/fntests.m, test/for.tst, test/func.tst, test/global.tst, test/if.tst,
test/index.tst, test/io.tst, test/jit.tst, test/line-continue.tst,
test/logical-index.tst, test/nest/nest.tst, test/null-assign.tst,
test/parser.tst, test/prefer.tst, test/range.tst, test/recursion.tst,
test/return.tst, test/slice.tst, test/struct.tst, test/switch.tst,
test/system.tst, test/transpose.tst, test/try.tst, test/unwind.tst,
test/while.tst:
Use the same Copyright formatting throughout Octave.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 13 Nov 2016 20:33:47 -0800 |
parents | 05308824fbcf |
children | c4d80b9d2898 |
line wrap: on
line source
## Copyright (C) 2005-2016 John W. Eaton ## ## This file is part of Octave. ## ## Octave is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 3 of the License, or ## (at your option) any later version. ## ## Octave is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- ## @deftypefn {} {} __gnuplot_draw_axes__ (@var{h}, @var{plot_stream}, @var{enhanced}, @var{bg_is_set}, @var{fg_is_set}, @var{hlgnd}) ## Undocumented internal function. ## @end deftypefn ## Author: jwe function __gnuplot_draw_axes__ (h, plot_stream, enhanced, bg_is_set, fg_is_set, hlgnd) showhiddenhandles = get (0, "showhiddenhandles"); unwind_protect set (0, "showhiddenhandles", "on"); axis_obj = __get__ (h); unwind_protect_cleanup set (0, "showhiddenhandles", showhiddenhandles); end_unwind_protect parent_figure_obj = get (axis_obj.parent); gnuplot_term = __gnuplot_get_var__ (axis_obj.parent, "GPVAL_TERM"); ## Set to false for plotyy axes. ymirror = true; if (isfield (axis_obj, "__plotyy_axes__")) if (all (ishandle (axis_obj.__plotyy_axes__))) ymirror = false; else h = axis_obj.__plotyy_axes__; h = h(ishandle (h)); h = h(isprop (h, "__plotyy_axes__")); rmappdata (h, "__plotyy_axes__"); endif endif nd = __calc_dimensions__ (h); if (strcmp (axis_obj.dataaspectratiomode, "manual") && strcmp (axis_obj.xlimmode, "manual") && strcmp (axis_obj.ylimmode, "manual")) ## All can't be "manual" axis_obj.plotboxaspectratiomode = "auto"; endif if (strcmp (axis_obj.dataaspectratiomode, "manual") && strcmp (axis_obj.xlimmode, "manual") && strcmp (axis_obj.ylimmode, "manual") && (nd == 2 || all (mod (axis_obj.view, 90) == 0))) ## FIXME: adjust plotboxaspectratio to respect other fpos = get (axis_obj.parent, "position"); apos = axis_obj.position; endif pos = __actual_axis_position__ (h); if (strcmp (axis_obj.dataaspectratiomode, "manual")) dr = axis_obj.dataaspectratio; if (nd == 2 || all (mod (axis_obj.view, 90) == 0)) dr = dr(1) / dr(2); else ## FIXME: need to properly implement 3D dr = mean (dr(1:2)) / dr(3); endif else dr = 1; endif if (strcmp (axis_obj.activepositionproperty, "position")) if (nd == 2 || all (mod (axis_obj.view, 90) == 0)) x = [1, 1]; else ## 3D plots need to be sized down to fit in the window. x = 1.0 ./ sqrt ([2, 2.5]); endif fprintf (plot_stream, "set tmargin screen %.15g;\n", pos(2)+pos(4)/2+x(2)*pos(4)/2); fprintf (plot_stream, "set bmargin screen %.15g;\n", pos(2)+pos(4)/2-x(2)*pos(4)/2); fprintf (plot_stream, "set lmargin screen %.15g;\n", pos(1)+pos(3)/2-x(1)*pos(3)/2); fprintf (plot_stream, "set rmargin screen %.15g;\n", pos(1)+pos(3)/2+x(1)*pos(3)/2); sz_str = ""; else ## activepositionproperty == outerposition fprintf (plot_stream, "unset tmargin;\n"); fprintf (plot_stream, "unset bmargin;\n"); fprintf (plot_stream, "unset lmargin;\n"); fprintf (plot_stream, "unset rmargin;\n"); fprintf (plot_stream, "set origin %g, %g;\n", pos(1:2)); if (strcmp (axis_obj.dataaspectratiomode, "manual")) sz_str = sprintf ("ratio %g", -dr); else sz_str = "noratio"; endif sz_str = sprintf ("set size %s %g, %g;\n", sz_str, pos(3:4)); endif if (! isempty (sz_str)) fputs (plot_stream, sz_str); endif ## Code above uses axis size for the data aspect ratio, which isn't ## quite correct. The only fine control is to set all axes units equal. if (nd == 3 && strcmp (axis_obj.dataaspectratiomode, "manual") && axis_obj.dataaspectratio(1) == axis_obj.dataaspectratio(2)) if (axis_obj.dataaspectratio(1) == axis_obj.dataaspectratio(3)) zstr = "z"; else zstr = ""; endif fprintf (plot_stream, "set view equal xy%s;\n", zstr); endif ## Reset all labels, axis-labels, tick-labels, and title ## FIXME: We should have an function to initialize the axis. ## Presently, this is dispersed in this function. fputs (plot_stream, "unset label;\n"); fputs (plot_stream, "unset xtics;\n"); fputs (plot_stream, "unset ytics;\n"); fputs (plot_stream, "unset ztics;\n"); fputs (plot_stream, "unset x2tics;\n"); fputs (plot_stream, "unset y2tics;\n"); if (isempty (axis_obj.title) || isempty (get (axis_obj.title, "string"))) fputs (plot_stream, "unset title;\n"); else if (nd == 2) t = get(axis_obj.title); colorspec = get_text_colorspec (t.color); [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string"); fontspec = create_fontspec (f, s, gnuplot_term); fprintf (plot_stream, "set title \"%s\" %s %s %s;\n", undo_string_escapes (tt), fontspec, colorspec, __do_enhanced_option__ (enhanced, t)); else ## Change meaning of "normalized", but it at least gives user some control if (! strcmp (get (axis_obj.title, "units"), "normalized")) unwind_protect set (axis_obj.title, "units", "normalized"); set (axis_obj.title, "position", [0.5 1.02 0.5]); unwind_protect_cleanup end_unwind_protect endif t = get(axis_obj.title); axispos = axis_obj.position; screenpos = t.position; screenpos(1) = axispos(1)+screenpos(1)*axispos(3); screenpos(2) = axispos(2)+screenpos(2)*axispos(4); fputs (plot_stream, "unset title;\n"); do_text (plot_stream, gnuplot_term, enhanced, t, h, screenpos); endif endif if (! isempty (axis_obj.xlabel)) t = get (axis_obj.xlabel); angle = t.rotation; colorspec = get_text_colorspec (t.color); if (isempty (t.string)) fprintf (plot_stream, "unset xlabel;\n"); fprintf (plot_stream, "unset x2label;\n"); else [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string"); fontspec = create_fontspec (f, s, gnuplot_term); if (strcmp (axis_obj.xaxislocation, "top")) fprintf (plot_stream, "set x2label \"%s\" %s %s %s", undo_string_escapes (tt), colorspec, fontspec, __do_enhanced_option__ (enhanced, t)); else fprintf (plot_stream, "set xlabel \"%s\" %s %s %s", undo_string_escapes (tt), colorspec, fontspec, __do_enhanced_option__ (enhanced, t)); endif fprintf (plot_stream, " rotate by %f;\n", angle); if (strcmp (axis_obj.xaxislocation, "top")) fprintf (plot_stream, "unset xlabel;\n"); else fprintf (plot_stream, "unset x2label;\n"); endif endif endif if (! isempty (axis_obj.ylabel)) t = get (axis_obj.ylabel); angle = t.rotation; colorspec = get_text_colorspec (t.color); if (isempty (t.string)) fprintf (plot_stream, "unset ylabel;\n"); fprintf (plot_stream, "unset y2label;\n"); else [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string"); fontspec = create_fontspec (f, s, gnuplot_term); if (strcmp (axis_obj.yaxislocation, "right")) fprintf (plot_stream, "set y2label \"%s\" %s %s %s", undo_string_escapes (tt), colorspec, fontspec, __do_enhanced_option__ (enhanced, t)); else fprintf (plot_stream, "set ylabel \"%s\" %s %s %s", undo_string_escapes (tt), colorspec, fontspec, __do_enhanced_option__ (enhanced, t)); endif fprintf (plot_stream, " rotate by %f;\n", angle); if (strcmp (axis_obj.yaxislocation, "right")) fprintf (plot_stream, "unset ylabel;\n"); else fprintf (plot_stream, "unset y2label;\n"); endif endif endif if (! isempty (axis_obj.zlabel)) t = get (axis_obj.zlabel); angle = t.rotation; colorspec = get_text_colorspec (t.color); if (isempty (t.string)) fputs (plot_stream, "unset zlabel;\n"); else [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string"); fontspec = create_fontspec (f, s, gnuplot_term); fprintf (plot_stream, "set zlabel \"%s\" %s %s %s", undo_string_escapes (tt), colorspec, fontspec, __do_enhanced_option__ (enhanced, t)); fprintf (plot_stream, " rotate by %f;\n", angle); endif endif if (strcmp (axis_obj.xaxislocation, "top")) xaxisloc = "x2"; xaxisloc_using = "x2"; else xaxisloc = "x"; xaxisloc_using = "x1"; if (any (strcmp (axis_obj.xaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 fputs (plot_stream, "set xzeroaxis;\n"); endif endif if (strcmp (axis_obj.yaxislocation, "right")) yaxisloc = "y2"; yaxisloc_using = "y2"; else yaxisloc = "y"; yaxisloc_using = "y1"; if (any (strcmp (axis_obj.yaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 fputs (plot_stream, "set yzeroaxis;\n"); endif endif have_major_grid = false; have_minor_grid = false; visible_gls = ! strcmp (axis_obj.gridlinestyle, "none") ... && ! strcmp (axis_obj.gridcolor, "none"); visible_mgls = ! strcmp (axis_obj.minorgridlinestyle, "none") ... && ! strcmp (axis_obj.minorgridcolor, "none"); if (strcmp (axis_obj.xgrid, "on") && visible_gls) have_major_grid = true; fprintf (plot_stream, "set grid %stics;\n", xaxisloc); else fprintf (plot_stream, "set grid no%stics;\n", xaxisloc); endif if (strcmp (axis_obj.ygrid, "on") && visible_gls) have_major_grid = true; fprintf (plot_stream, "set grid %stics;\n", yaxisloc); else fprintf (plot_stream, "set grid no%stics;\n", yaxisloc); endif if (strcmp (axis_obj.zgrid, "on") && visible_gls) have_major_grid = true; fputs (plot_stream, "set grid ztics;\n"); else fputs (plot_stream, "set grid noztics;\n"); endif if (strcmp (axis_obj.xminorgrid, "on") && visible_mgls) have_minor_grid = true; if (strcmp (axis_obj.xscale, "log")) m = 10; else m = 5; endif fprintf (plot_stream, "set m%stics %d;\n", xaxisloc, m); fprintf (plot_stream, "set grid m%stics;\n", xaxisloc); else fprintf (plot_stream, "set grid nom%stics;\n", xaxisloc); endif if (strcmp (axis_obj.yminorgrid, "on") && visible_mgls) have_minor_grid = true; if (strcmp (axis_obj.yscale, "log")) m = 10; else m = 5; endif fprintf (plot_stream, "set m%stics %d;\n", yaxisloc, m); fprintf (plot_stream, "set grid m%stics;\n", yaxisloc); else fprintf (plot_stream, "set grid nom%stics;\n", yaxisloc); endif if (strcmp (axis_obj.zminorgrid, "on") && visible_mgls) have_minor_grid = true; if (strcmp (axis_obj.zscale, "log")) m = 10; else m = 5; endif fprintf (plot_stream, "set mztics %d;\n", m); fputs (plot_stream, "set grid mztics;\n"); else fputs (plot_stream, "set grid nomztics;\n"); endif ## The grid front/back/layerdefault option also controls the ## appearance of tics, so it is used even if the grid is absent. if (strcmp (axis_obj.layer, "top")) fputs (plot_stream, "set grid front;\n"); fputs (plot_stream, "set border front;\n"); else fputs (plot_stream, "set grid layerdefault;\n"); endif xlogscale = strcmp (axis_obj.xscale, "log"); ylogscale = strcmp (axis_obj.yscale, "log"); zlogscale = strcmp (axis_obj.zscale, "log"); ## Detect logscale and negative lims if (xlogscale && all (axis_obj.xlim < 0)) axis_obj.xsgn = -1; if (strcmp (axis_obj.xdir, "reverse")) axis_obj.xdir = "normal"; elseif (strcmp (axis_obj.xdir, "normal")) axis_obj.xdir = "reverse"; endif axis_obj.xtick = -flip (axis_obj.xtick); axis_obj.xticklabel = flip (axis_obj.xticklabel); axis_obj.xlim = -flip (axis_obj.xlim); else axis_obj.xsgn = 1; endif if (ylogscale && all (axis_obj.ylim < 0)) axis_obj.ysgn = -1; if (strcmp (axis_obj.ydir, "reverse")) axis_obj.ydir = "normal"; elseif (strcmp (axis_obj.ydir, "normal")) axis_obj.ydir = "reverse"; endif axis_obj.ytick = -flip (axis_obj.ytick); axis_obj.yticklabel = flip (axis_obj.yticklabel); axis_obj.ylim = -flip (axis_obj.ylim); else axis_obj.ysgn = 1; endif if (zlogscale && all (axis_obj.zlim < 0)) axis_obj.zsgn = -1; if (strcmp (axis_obj.zdir, "reverse")) axis_obj.zdir = "normal"; elseif (strcmp (axis_obj.zdir, "normal")) axis_obj.zdir = "reverse"; endif axis_obj.ztick = -flip (axis_obj.ztick); axis_obj.zticklabel = flip (axis_obj.zticklabel); axis_obj.zlim = -flip (axis_obj.zlim); else axis_obj.zsgn = 1; endif xlim = axis_obj.xlim; ylim = axis_obj.ylim; zlim = axis_obj.zlim; clim = axis_obj.clim; do_tics (axis_obj, plot_stream, ymirror, gnuplot_term); fputs (plot_stream, "unset logscale;\n"); if (xlogscale) fprintf (plot_stream, "set logscale %s;\n", xaxisloc); endif if (ylogscale) fprintf (plot_stream, "set logscale %s;\n", yaxisloc); endif if (zlogscale) fputs (plot_stream, "set logscale z;\n"); endif xautoscale = strcmp (axis_obj.xlimmode, "auto"); yautoscale = strcmp (axis_obj.ylimmode, "auto"); zautoscale = strcmp (axis_obj.zlimmode, "auto"); cautoscale = strcmp (axis_obj.climmode, "auto"); fputs (plot_stream, "set clip two;\n"); kids = axis_obj.children; ## Remove the axis labels and title from the children, and ## preserved the original order. [jnk, k] = setdiff (kids, [axis_obj.xlabel; axis_obj.ylabel; ... axis_obj.zlabel; axis_obj.title]); kids = kids(sort (k)); if (nd == 3) fputs (plot_stream, "set parametric;\n"); fputs (plot_stream, "set style data lines;\n"); fputs (plot_stream, "set surface;\n"); fputs (plot_stream, "unset contour;\n"); endif data_idx = 0; data = cell (); is_image_data = []; hidden_removal = NaN; view_map = false; if (cautoscale) ## First pass to get cdata limits, maybe general graphics should do this kids1 = kids; clim = [Inf -Inf]; while (! isempty (kids1)) obj = get (kids1(end)); kids1 = kids1(1:(end-1)); switch (obj.type) case {"image", "patch", "surface"} if (isfield (obj, "cdatamapping") && strcmp (obj.cdatamapping, "scaled") && isfield (obj, "cdata") && ! isempty (obj.cdata)) clim(1) = min (clim(1), min (obj.cdata(:))); clim(2) = max (clim(2), max (obj.cdata(:))); endif case "hggroup" ## Push group children into the kid list. if (isempty (kids1)) kids1 = obj.children; elseif (! isempty (obj.children)) kids1 = [kids1; obj.children]; endif endswitch endwhile if (clim(1) == Inf) clim = axis_obj.clim; endif elseif (clim(1) == clim(2)) clim(2)++; endif if (rows (parent_figure_obj.colormap) != 2) ## Second pass to change color map for binary images (not sure correct) kids1 = kids; while (! isempty (kids1)) obj = get (kids1(end)); kids1 = kids1(1:(end-1)); switch (obj.type) case {"image"} if (isfield (obj, "cdata") && islogical (obj.cdata)) parent_figure_obj.colormap = [0 0 0; 1 1 1]; axis_obj.clim = [0 1]; axis_obj.climmode = "manual"; break; endif case "hggroup" ## Push group children into the kid list. if (isempty (kids1)) kids1 = obj.children; elseif (! isempty (obj.children)) kids1 = [kids1; obj.children]; endif endswitch endwhile endif cmap = parent_figure_obj.colormap; cmap_sz = rows (cmap); addedcmap = []; ximg_data = {}; ximg_data_idx = 0; while (! isempty (kids)) h_obj = kids(end); kids = kids(1:(end-1)); obj = get (h_obj); if (isfield (obj, "xdata")) obj.xdata = double (obj.xdata); endif if (isfield (obj, "ydata")) obj.ydata = double (obj.ydata); endif if (isfield (obj, "zdata")) obj.zdata = double (obj.zdata); endif if (isfield (obj, "units")) units = obj.units; unwind_protect set (h_obj, "units", "data"); obj = get (h_obj); unwind_protect_cleanup set (h_obj, "units", units); end_unwind_protect endif if (strcmp (obj.visible, "off")) continue; endif if (xlogscale && isfield (obj, "xdata")) obj.xdata = axis_obj.xsgn * obj.xdata; obj.xdata(obj.xdata<=0) = NaN; endif if (ylogscale && isfield (obj, "ydata")) obj.ydata = axis_obj.ysgn * obj.ydata; obj.ydata(obj.ydata<=0) = NaN; endif if (zlogscale && isfield (obj, "zdata")) obj.zdata = axis_obj.zsgn * obj.zdata; obj.zdata(obj.zdata<=0) = NaN; endif switch (obj.type) case "image" img_data = mapcdata (obj.cdata, obj.cdatamapping, clim, cmap_sz); img_xdata = obj.xdata; img_ydata = obj.ydata; data_idx += 1; is_image_data(data_idx) = true; parametric(data_idx) = false; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; if (img_xdata(2) < img_xdata(1)) img_xdata = img_xdata(2:-1:1); img_data = img_data(:,end:-1:1,:); elseif (img_xdata(1) == img_xdata(2)) img_xdata = img_xdata(1) + [0, columns(img_data)-1]; endif if (img_ydata(2) < img_ydata(1)) img_ydata = img_ydata(2:-1:1); img_data = img_data(end:-1:1,:,:); elseif (img_ydata(1) == img_ydata(2)) img_ydata = img_ydata(1) + [0, rows(img_data)-1]; endif x_origin = min (img_xdata); y_origin = min (img_ydata); [y_dim, x_dim] = size (img_data(:,:,1)); if (x_dim > 1) dx = abs (img_xdata(2)-img_xdata(1))/(x_dim-1); else x_dim = 2; img_data = [img_data, img_data]; dx = abs (img_xdata(2)-img_xdata(1)); if (dx < 1) ## Correct gnuplot string for 1-D images dx = 0.5; x_origin = 0.75; endif endif if (y_dim > 1) dy = abs (img_ydata(2)-img_ydata(1))/(y_dim-1); else y_dim = 2; img_data = [img_data; img_data]; dy = abs (img_ydata(2)-img_ydata(1)); if (dy < 1) ## Correct gnuplot string for 1-D images dy = 0.5; y_origin = 0.75; endif endif if (ndims (img_data) == 3) data{data_idx} = permute (img_data, [3, 1, 2])(:); format = "1:2:3"; imagetype = "rgbimage"; else data{data_idx} = img_data(:); format = "1"; imagetype = "image"; endif titlespec{data_idx} = "title \"\""; usingclause{data_idx} = sprintf ("binary array=%dx%d scan=yx origin=(%.15g,%.15g) dx=%.15g dy=%.15g using %s", x_dim, y_dim, x_origin, y_origin, dx, dy, format); withclause{data_idx} = sprintf ("with %s;", imagetype); case "line" if (strcmp (get (obj.parent, "type"), "hggroup")) hg = get (obj.parent, "children"); if (hg(1) == h_obj && ! isempty (get (obj.parent, "displayname"))) data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; tmpdispname = obj.displayname; obj.displayname = get (obj.parent, "displayname"); tmp = undo_string_escapes ( __maybe_munge_text__ (enhanced, obj, "displayname") ); titlespec{data_idx} = ['title "' tmp '"']; obj.displayname = tmpdispname; if (! isempty (findobj (obj.parent, "-property", "format", "-depth", 0))) # Place phantom errorbar data for legend data{data_idx} = NaN (4,1); usingclause{data_idx} = sprintf ("record=1 using ($1):($2):($3):($4)"); switch (get (obj.parent, "format")) case {"box" "boxy" "boxxy"} errbars = "boxxy"; case "xyerr" errbars = "xyerrorbars"; case "yerr" errbars = "yerrorbars"; case "xerr" errbars = "xerrorbars"; otherwise errbars = "xerrorbars"; endswitch withclause{data_idx} = sprintf ("with %s linestyle %d", errbars, sidx(1)); else ## Place phantom stemseries data for legend data{data_idx} = NaN (2,1); usingclause{data_idx} = sprintf ("record=1 using ($1):($2)"); hgobj = get (obj.parent); [hgstyle, hgsidx] = do_linestyle_command (hgobj, hgobj.color, data_idx, plot_stream); withclause{data_idx} = sprintf ("with %s linestyle %d", hgstyle{1}, hgsidx(1)); endif endif endif if (strcmp (obj.linestyle, "none") && (! isfield (obj, "marker") || (isfield (obj, "marker") && strcmp (obj.marker, "none")))) continue; endif data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = true; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; if (isempty (obj.displayname)) titlespec{data_idx} = "title \"\""; else tmp = undo_string_escapes ( __maybe_munge_text__ (enhanced, obj, "displayname") ); titlespec{data_idx} = ['title "' tmp '"']; endif usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata)); if (nd == 3) xdat = obj.xdata(:); ydat = obj.ydata(:); if (! isempty (obj.zdata)) zdat = obj.zdata(:); else zdat = zeros (size (xdat)); endif data{data_idx} = [xdat, ydat, zdat]'; usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", numel (xdat)); ## fputs (plot_stream, "set parametric;\n"); else xdat = obj.xdata(:); ydat = obj.ydata(:); data{data_idx} = [xdat, ydat]'; usingclause{data_idx} = ... sprintf ("record=%d using ($1):($2) axes %s%s", rows (xdat), xaxisloc_using, yaxisloc_using); endif [style, sidx] = do_linestyle_command (obj, obj.color, data_idx, plot_stream); if isempty (style{1}) style{1} = "points"; data{data_idx} = {}; endif withclause{data_idx} = sprintf ("with %s linestyle %d", style{1}, sidx(1)); if (length (style) > 1) data_idx += 1; is_image_data(data_idx) = is_image_data(data_idx - 1); parametric(data_idx) = parametric(data_idx - 1); have_cdata(data_idx) = have_cdata(data_idx - 1); have_3d_patch(data_idx) = have_3d_patch(data_idx - 1); titlespec{data_idx} = "title \"\""; usingclause{data_idx} = usingclause{data_idx - 1}; data{data_idx} = data{data_idx - 1}; withclause{data_idx} = sprintf ("with %s linestyle %d", style{2}, sidx(2)); endif if (length (style) > 2) data_idx += 1; is_image_data(data_idx) = is_image_data(data_idx - 1); parametric(data_idx) = parametric(data_idx - 1); have_cdata(data_idx) = have_cdata(data_idx - 1); have_3d_patch(data_idx) = have_3d_patch(data_idx - 1); titlespec{data_idx} = "title \"\""; usingclause{data_idx} = usingclause{data_idx - 1}; data{data_idx} = data{data_idx - 1}; withclause{data_idx} = sprintf ("with %s linestyle %d", style{3}, sidx(3)); endif case "patch" if (strcmp (get (obj.parent, "type"), "hggroup")) obj.displayname = get (obj.parent, "displayname"); endif [nr, nc] = size (obj.xdata); if (! isempty (obj.cdata)) cdat = obj.cdata; else cdat = []; endif data_3d_idx = NaN; for i = 1:nc xcol = obj.xdata(:,i); ycol = obj.ydata(:,i); if (nd == 3) if (! isempty (obj.zdata)) zcol = obj.zdata(:,i); else zcol = zeros (size (xcol)); endif endif if (! isnan (xcol) && ! isnan (ycol)) ## Is the patch closed or not if (! strcmp (obj.facecolor, "none")) hidden_removal = true; if (nd == 3) if (numel (xcol) > 3) error ("__gnuplot_draw_axes__: gnuplot (as of v4.2) only supports 3-D filled triangular patches"); else if (isnan (data_3d_idx)) data_idx += 1; data_3d_idx = data_idx; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = true; have_3d_patch(data_idx) = true; withclause{data_3d_idx} = sprintf ("with pm3d"); usingclause{data_3d_idx} = "using 1:2:3:4"; data{data_3d_idx} = []; endif local_idx = data_3d_idx; ccdat = NaN; endif else data_idx += 1; local_idx = data_idx; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; endif if (i > 1 || isempty (obj.displayname)) titlespec{local_idx} = "title \"\""; else tmp = undo_string_escapes ( __maybe_munge_text__ (enhanced, obj, "displayname") ); titlespec{local_idx} = ['title "' tmp '"']; endif if (isfield (obj, "facecolor")) if ((strcmp (obj.facecolor, "flat") || strcmp (obj.facecolor, "interp")) && isfield (obj, "cdata")) if (ndims (obj.cdata) == 2 && (columns (obj.cdata) == nc && (rows (obj.cdata) == 1 || rows (obj.cdata) == 3))) ccol = cdat(:, i); elseif (ndims (obj.cdata) == 2 && (rows (obj.cdata) == nc && (columns (obj.cdata) == 1 || columns (obj.cdata) == 3))) ccol = cdat(i, :); elseif (ndims (obj.cdata) == 3) ccol = permute (cdat (:, i, :), [1, 3, 2]); else ccol = cdat; endif if (strcmp (obj.facecolor, "flat")) if (isequal (size (ccol), [1, 3])) ## RGB Triplet color = ccol; else ccdat = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz); if (nd == 3 && numel (xcol) == 3) color = cmap(ccdat(1), :); else color = cmap(ccdat, :); endif endif elseif (strcmp (obj.facecolor, "interp")) if (nd == 3 && numel (xcol) == 3) ccdat = ccol; if (! isvector (ccdat)) tmp = cmap_sz + rows (addedcmap) + ... [1 : rows(ccdat)]; addedcmap = [addedcmap; ccdat]; ccdat = tmp(:); else ccdat = mapcdata (ccdat(:), obj.cdatamapping, clim, cmap_sz); endif else if (sum (diff (ccol))) warning ("\"interp\" not supported, using 1st entry of cdata"); endif r = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz); color = cmap(r(1),:); endif endif elseif (isnumeric (obj.facecolor)) color = obj.facecolor; else color = [0, 1, 0]; endif else color = [0, 1, 0]; endif if (nd == 3 && numel (xcol) == 3) if (isnan (ccdat)) ccdat = (cmap_sz + rows (addedcmap) + 1) * ones(3, 1); addedcmap = [addedcmap; reshape(color, 1, 3)]; elseif (numel (ccdat) == 1) ccdat = ccdat * ones (size (zcol)); elseif (numel (ccdat) < 1) ccdat = zcol; endif data{data_3d_idx} = [data{data_3d_idx}, ... [[xcol; xcol(end)], [ycol; ycol(end)], ... [zcol; zcol(end)], [ccdat; ccdat(end)]]']; else if (isscalar (obj.facealpha)) colorspec = sprintf ("lc rgb \"#%02x%02x%02x\" fillstyle transparent solid %f", round (255*color), obj.facealpha); else colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*color)); endif withclause{data_idx} = sprintf ("with filledcurve %s", colorspec); data{data_idx} = [xcol, ycol]'; usingclause{data_idx} = sprintf ("record=%d using ($1):($2)", numel (xcol)); endif endif endif ## patch outline if (!(strcmp (obj.edgecolor, "none") && (strcmp (obj.marker, "none") || (strcmp (obj.markeredgecolor, "none") && strcmp (obj.markerfacecolor, "none"))))) data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; titlespec{data_idx} = "title \"\""; usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata)); if (isfield (obj, "markersize")) mdat = obj.markersize / 3; endif if (isfield (obj, "edgecolor")) ## FIXME: This is the wrong thing to do as edgecolor, ## markeredgecolor and markerfacecolor can have different values ## and we should treat them seperately. However, the code below ## allows the scatter functions to work as expected, where only ## one of these values is set. if (strcmp (obj.edgecolor, "none")) if (strcmp (obj.markeredgecolor, "none")) ec = obj.markerfacecolor; else ec = obj.markeredgecolor; endif else ec = obj.edgecolor; endif if ((strcmp (ec, "flat") || strcmp (ec, "interp")) && isfield (obj, "cdata")) if (ndims (obj.cdata) == 2 && (columns (obj.cdata) == nc && (rows (obj.cdata) == 1 || rows (obj.cdata) == 3))) ccol = cdat(:, i); elseif (ndims (obj.cdata) == 2 && (rows (obj.cdata) == nc && (columns (obj.cdata) == 1 || columns (obj.cdata) == 3))) ccol = cdat(i, :); elseif (ndims (obj.cdata) == 3) ccol = permute (cdat (:, i, :), [1, 3, 2]); else ccol = cdat; endif if (strcmp (ec, "flat")) if (isequal (size (ccol), [1, 3])) color = ccol; else if (columns (ccol) != 3) ccol = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz); endif if (isscalar (ccol)) ccol = repmat (ccol, numel (xcol), 1); endif color = "flat"; have_cdata(data_idx) = true; endif elseif (strcmp (ec, "interp")) if (numel (ccol) == 3) warning ("\"interp\" not supported, using 1st entry of cdata"); color = ccol(1,:); else if (isscalar (ccol)) ccol = repmat (ccol, numel (xcol), 1); endif color = "interp"; have_cdata(data_idx) = true; endif ccol = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz); endif elseif (isnumeric (ec)) color = ec; else color = [0, 0, 0]; endif else color = [0, 0, 0]; endif lt = gnuplot_linestyletype (obj); if (isfield (obj, "linewidth")) lw = sprintf ("linewidth %f", obj.linewidth); else lw = ""; endif [pt, pt2, obj] = gnuplot_pointtype (obj); if (! isempty (pt)) pt = sprintf ("pointtype %s", pt); endif if (! isempty (pt2)) pt2 = sprintf ("pointtype %s", pt2); endif if (ischar (color)) if (columns (ccol) == 1) colorspec = "palette"; elseif (columns (ccol) == 3) colorspec = "lc rgb variable"; ccol = 255*ccol*[0x1; 0x100; 0x10000]; endif else colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", uint8 (255*color)); endif sidx = 1; if (isempty (lt)) style = ""; else style = "lines"; endif tmpwith = {}; facesame = true; if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor") && ! strcmp (obj.markerfacecolor, "none")) if (strcmp (obj.markerfacecolor, "auto") || ! isnumeric (obj.markerfacecolor) || (isnumeric (obj.markerfacecolor) && isequal (color, obj.markerfacecolor))) style = [style "points"]; if (isfield (obj, "markersize")) if (length (mdat) == nc) m = mdat(i); else m = mdat; endif ps = sprintf ("pointsize %f", m / 3); else ps = ""; endif tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s", style, lw, pt2, lt, ps, colorspec); else facesame = false; if (! isempty (style)) tmpwith{sidx} = sprintf ("with %s %s %s %s", style, lw, lt, colorspec); sidx += 1; endif if (isnumeric (obj.markerfacecolor)) colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*obj.markerfacecolor)); endif style = "points"; if (isfield (obj, "markersize")) if (length (mdat) == nc) m = mdat(i); else m = mdat; endif ps = sprintf ("pointsize %f", m / 3); else ps = ""; endif tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s", style, lw, pt2, lt, ps, colorspec); endif endif if (isfield (obj, "markeredgecolor") && ! strcmp (obj.markeredgecolor, "none")) if (facesame && ! isempty (pt) && (strcmp (obj.markeredgecolor, "auto") || ! isnumeric (obj.markeredgecolor) || (isnumeric (obj.markeredgecolor) && isequal (color, obj.markeredgecolor)))) if (sidx == 1 && ((length (style) == 5 && strncmp (style, "lines", 5)) || isempty (style))) style = [style, "points"]; if (isfield (obj, "markersize")) if (length (mdat) == nc) m = mdat(i); else m = mdat; endif ps = sprintf ("pointsize %f", m / 3); else ps = ""; endif tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s", style, lw, pt, lt, ps, colorspec); endif else if (! isempty (style)) if (length (tmpwith) < sidx || isempty (tmpwith{sidx})) tmpwith{sidx} = sprintf ("with %s %s %s %s", style, lw, lt, colorspec); endif sidx += 1; endif if (! isempty (pt)) if (strcmp (obj.markeredgecolor, "auto")) colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*color)); elseif (isnumeric (obj.markeredgecolor)) colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*obj.markeredgecolor)); endif style = "points"; if (isfield (obj, "markersize")) if (length (mdat) == nc) m = mdat(i); else m = mdat; endif ps = sprintf ("pointsize %f", m / 3); else ps = ""; endif tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s", style, lw, pt, lt, ps, colorspec); endif endif endif if (! isempty (tmpwith)) withclause{data_idx} = tmpwith{1}; else if (! isempty (style)) withclause{data_idx} = sprintf ("with %s %s %s %s %s", style, lw, pt, lt, colorspec); else withclause{data_idx} = ""; endif endif if (nd == 3) if (ischar (color)) if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol)) data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ... [zcol; zcol(1)], [ccol; ccol(1)]]'; else data{data_idx} = [xcol, ycol, zcol, ccol]'; endif usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3):($4)", columns (data{data_idx})); else if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol)) data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ... [zcol; zcol(1)]]'; else data{data_idx} = [xcol, ycol, zcol]'; endif usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx})); endif else if (ischar (color)) if (! isnan (xcol) && ! isnan (ycol)) data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ... [ccol; ccol(1)]]'; else data{data_idx} = [xcol, ycol, ccol]'; endif usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx})); else if (! isnan (xcol) && ! isnan (ycol)) data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)]]'; else data{data_idx} = [xcol, ycol]'; endif usingclause{data_idx} = sprintf ("record=%d using ($1):($2)", columns (data{data_idx})); endif endif if (length (tmpwith) > 1) data_idx += 1; is_image_data(data_idx) = is_image_data(data_idx - 1); parametric(data_idx) = parametric(data_idx - 1); have_cdata(data_idx) = have_cdata(data_idx - 1); have_3d_patch(data_idx) = have_3d_patch(data_idx - 1); titlespec{data_idx} = "title \"\""; usingclause{data_idx} = usingclause{data_idx - 1}; data{data_idx} = data{data_idx - 1}; withclause{data_idx} = tmpwith{2}; endif if (length (tmpwith) > 2) data_idx += 1; is_image_data(data_idx) = is_image_data(data_idx - 1); parametric(data_idx) = parametric(data_idx - 1); have_cdata(data_idx) = have_cdata(data_idx - 1); have_3d_patch(data_idx) = have_3d_patch(data_idx - 1); titlespec{data_idx} = "title \"\""; usingclause{data_idx} = usingclause{data_idx - 1}; data{data_idx} = data{data_idx - 1}; withclause{data_idx} = tmpwith{3}; endif endif endfor case "surface" view_map = true; tspec = 'title ""'; if (! isempty (obj.displayname)) ## Place phantom line data for approximate legend symbol data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = false; have_3d_patch(data_idx) = false; tmp = undo_string_escapes ( __maybe_munge_text__ (enhanced, obj, "displayname") ); titlespec{data_idx} = ['title "' tmp '"']; data{data_idx} = NaN (3,1); usingclause{data_idx} = sprintf ("record=1 using ($1):($2):($3)"); withclause{data_idx} = sprintf ("with line linewidth 10 linecolor rgb \"#%02x%02x%02x\"", round (255*cmap(end/2,:))); endif xdat = obj.xdata; ydat = obj.ydata; zdat = obj.zdata; cdat = mapcdata (obj.cdata, obj.cdatamapping, clim, cmap_sz); err = false; if (! size_equal (zdat, cdat)) err = true; endif if (isvector (xdat) && isvector (ydat) && ismatrix (zdat)) if (rows (zdat) == length (ydat) && columns (zdat) == length (xdat)) [xdat, ydat] = meshgrid (xdat, ydat); else err = true; endif elseif (ismatrix (xdat) && ismatrix (ydat) && ismatrix (zdat)) if (! size_equal (xdat, ydat, zdat)) err = true; endif else err = true; endif if (err) error ("__gnuplot_draw_axes__: invalid grid data"); endif xlen = columns (zdat); ylen = rows (zdat); if (! strcmp (obj.facecolor, "none")) data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = false; have_cdata(data_idx) = true; have_3d_patch(data_idx) = false; titlespec{data_idx} = tspec; tspec = "title \"\""; flat_interp_face = (strcmp (obj.facecolor, "flat") || strcmp (obj.facecolor, "interp")); if (xlen == columns (xdat) && xlen == columns (ydat) && ylen == rows (xdat) && ylen == rows (ydat)) len = 4 * xlen; zz = zeros (ylen, len); if (! flat_interp_face) addedcmap = [addedcmap; obj.facecolor]; endif k = 1; for kk = 1:4:len zz(:,kk) = xdat(:,k); zz(:,kk+1) = ydat(:,k); zz(:,kk+2) = zdat(:,k); if (flat_interp_face) zz(:,kk+3) = cdat(:,k); else zz(:,kk+3) = cmap_sz + rows (addedcmap); endif k += 1; endfor data{data_idx} = zz.'; endif doing_interp_color = strcmp (obj.facecolor, "interp"); if (doing_interp_color) interp_str = "interpolate 0, 0"; else ## No interpolation of facecolors. interp_str = ""; endif usingclause{data_idx} = sprintf ("record=%dx%d using ($1):($2):($3):($4)", ylen, xlen); fputs (plot_stream, "unset pm3d\n"); fputs (plot_stream, "set style increment default;\n"); hidden_removal = true; withclause{data_idx} = sprintf ("with pm3d"); if (doing_interp_color) ## "depthorder" interferes with interpolation of colors. dord = "scansautomatic"; else dord = "depthorder"; endif if (isscalar (obj.facealpha)) fprintf (plot_stream, "set style fill transparent solid %f;\n", obj.facealpha); endif fprintf (plot_stream, "set pm3d explicit at s %s %s corners2color c3;\n", interp_str, dord); endif draw_surf_line = ! strcmp (obj.linestyle, "none") && ! strcmp (obj.edgecolor, "none"); draw_surf_marker = (! strcmp (obj.marker, "none") && ! (strcmp (obj.markeredgecolor, "none") && strcmp (obj.markerfacecolor, "none"))); if (draw_surf_line || draw_surf_marker) flat_interp_edge = (strcmp (obj.edgecolor, "flat") || strcmp (obj.edgecolor, "interp")); flat_marker = (strcmp (obj.markeredgecolor, "flat") || strcmp (obj.markerfacecolor, "flat") || strcmp (obj.markeredgecolor, "auto") || strcmp (obj.markerfacecolor, "auto")); [style, sidx] = do_linestyle_command (obj, obj.edgecolor, data_idx, plot_stream); domeshcolumn = (strcmp (obj.meshstyle, "column") || strcmp (obj.meshstyle, "both")); domeshrow = (strcmp (obj.meshstyle, "row") || strcmp (obj.meshstyle, "both")); num_pass = 0; num_cols = 0; if (domeshcolumn) num_pass += xlen; num_cols = xlen; endif if (domeshrow) num_pass += ylen; endif for np = 1:num_pass for i_stl = 1:length (style) has_ccol = ((strncmp (style{i_stl}, "lines", 5) && flat_interp_edge) || (strncmp (style{i_stl}, "points", 6) && flat_marker)); if (has_ccol) ccol = ":($4)"; N_tup = 4; else ccol = ""; N_tup = 3; endif sopt = sprintf ("ls %d", sidx (i_stl)); if (np <= num_cols) k = np; yrec = ylen; zz = zeros (ylen, N_tup); zz(:,1) = xdat(:,k); zz(:,2) = ydat(:,k); zz(:,3) = zdat(:,k); if (has_ccol) zz(:,4) = cdat(:,k); endif else j = np - num_cols; yrec = xlen; zz = zeros (xlen, N_tup); zz(:,1) = xdat(j,:)'; zz(:,2) = ydat(j,:)'; zz(:,3) = zdat(j,:)'; if (has_ccol) zz(:,4) = cdat(j,:)'; endif endif zz = zz.'; data_idx += 1; is_image_data(data_idx) = false; parametric(data_idx) = false; if (has_ccol) have_cdata(data_idx) = true; else have_cdata(data_idx) = false; endif have_3d_patch(data_idx) = false; titlespec{data_idx} = tspec; usingclause{data_idx} = sprintf ("record=%dx1 using ($1):($2):($3)%s", yrec, ccol); if isempty (style{i_stl}) style{i_stl} = "points"; data{data_idx} = {}; else data{data_idx} = zz; endif withclause{data_idx} = sprintf ("with %s %s", style{i_stl}, sopt); endfor endfor endif case "text" do_text (plot_stream, gnuplot_term, enhanced, obj, h); case "hggroup" ## Push group children into the kid list. if (isempty (kids)) kids = obj.children; elseif (! isempty (obj.children)) kids = [kids; obj.children]; endif case "light" ## ignore it otherwise error ("__gnuplot_draw_axes__: unknown object class, %s", obj.type); endswitch endwhile ## This is needed to prevent warnings for rotations in 3D plots, while ## allowing colorbars with contours. if (nd == 2 || (data_idx > 1 && ! view_map)) fputs (plot_stream, "set pm3d implicit;\n"); else fputs (plot_stream, "set pm3d explicit;\n"); endif if (! isnan (hidden_removal) && hidden_removal) fputs (plot_stream, "set hidden3d front nooffset;\n"); else fputs (plot_stream, "unset hidden3d;\n"); endif have_data = (! (isempty (data) || all (cellfun ("isempty", data)))); ## Note we don't use the [xy]2range of gnuplot as we don't use the ## dual axis plotting features of gnuplot. if (isempty (xlim)) return; endif if (strcmp (axis_obj.xdir, "reverse")) xlim = flip (xlim); endif fprintf (plot_stream, "set xrange [%.15e:%.15e];\n", xlim); if (strcmp (axis_obj.xaxislocation, "top")) fprintf (plot_stream, "set x2range [%.15e:%.15e];\n", xlim); endif if (isempty (ylim)) return; endif if (strcmp (axis_obj.ydir, "reverse")) ylim = flip (ylim); endif fprintf (plot_stream, "set yrange [%.15e:%.15e];\n", ylim); if (strcmp (axis_obj.yaxislocation, "right")) fprintf (plot_stream, "set y2range [%.15e:%.15e];\n", ylim); endif if (nd == 3) if (isempty (zlim)) return; endif if (strcmp (axis_obj.zdir, "reverse")) zlim = flip (zlim); endif fprintf (plot_stream, "set zrange [%.15e:%.15e];\n", zlim); endif if (! any (isinf (clim))) if (rows (addedcmap) > 0) fprintf (plot_stream, "set cbrange [1:%.15e];\n", cmap_sz + rows (addedcmap)); else fprintf (plot_stream, "set cbrange [1:%.15e];\n", cmap_sz); endif endif if (strcmp (axis_obj.visible, "off")) fputs (plot_stream, "unset border; unset tics\n"); else fputs (plot_stream, "unset border\n"); axis_idx = data_idx; if (strcmp (axis_obj.box, "on")) if (nd == 3) do_border_tick_3d (axis_obj, plot_stream); else axis_idx = do_border_2d (axis_obj, plot_stream, axis_idx); endif else if (nd == 3) do_border_tick_3d (axis_obj, plot_stream); elseif (! isempty (axis_obj.ytick)) if (strcmp (axis_obj.yaxislocation, "right")) fprintf (plot_stream, "unset ytics; set y2tics %s nomirror\n", axis_obj.tickdir); if (strcmp (axis_obj.xaxislocation, "top")) maybe_do_x2tick_mirror (plot_stream, axis_obj) elseif (strcmp (axis_obj.xaxislocation, "bottom")) maybe_do_xtick_mirror (plot_stream, axis_obj) else # xaxislocation == "origin" or "zero" fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n", axis_obj.tickdir); endif elseif (strcmp (axis_obj.yaxislocation, "left")) fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n", axis_obj.tickdir); if (strcmp (axis_obj.xaxislocation, "top")) maybe_do_x2tick_mirror (plot_stream, axis_obj) elseif (strcmp (axis_obj.xaxislocation, "bottom")) maybe_do_xtick_mirror (plot_stream, axis_obj) else # xaxislocation == "origin" or "zero" maybe_do_xtick_mirror (plot_stream, axis_obj) endif else # yaxislocation == "origin" or "zero" fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n", axis_obj.tickdir); if (strcmp (axis_obj.xaxislocation, "top")) maybe_do_x2tick_mirror (plot_stream, axis_obj) elseif (strcmp (axis_obj.xaxislocation, "bottom")) maybe_do_xtick_mirror (plot_stream, axis_obj) else # xaxislocation == "origin" or "zero" maybe_do_xtick_mirror (plot_stream, axis_obj) fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n", axis_obj.tickdir); fputs (plot_stream, "unset border;\n"); endif endif axis_idx = do_border_2d (axis_obj, plot_stream, axis_idx); endif endif endif if (! have_major_grid && ! have_minor_grid) fputs (plot_stream, "unset grid;\n"); else if (exist ("axis_idx", "var")) grid_idx = axis_idx; else grid_idx = data_idx; endif if (have_major_grid) grid_idx += 1; grid_obj.linestyle = axis_obj.gridlinestyle; grid_obj.linewidth = axis_obj.linewidth; grid_obj.alpha = axis_obj.gridalpha; [style, sidx_major] = do_linestyle_command (grid_obj, axis_obj.gridcolor, grid_idx, plot_stream); else sidx_major = 0; endif if (have_minor_grid) grid_idx += 1; grid_obj.linestyle = axis_obj.minorgridlinestyle; grid_obj.linewidth = axis_obj.linewidth; grid_obj.alpha = axis_obj.minorgridalpha; [style, sidx_minor] = do_linestyle_command (grid_obj, axis_obj.minorgridcolor, grid_idx, plot_stream); else sidx_minor = 0; endif fprintf (plot_stream, "set grid linestyle %d, linestyle %d;\n", sidx_major, sidx_minor); endif if (! isempty (hlgnd) && ! isempty (hlgnd.children) && any (strcmp (get (hlgnd.children, "visible"), "on"))) if (strcmp (hlgnd.box, "on")) box = "box"; else box = "nobox"; endif if (strcmp (hlgnd.orientation, "vertical")) horzvert = "vertical"; else horzvert = "horizontal"; endif if (strcmp (hlgnd.textposition, "right")) reverse = "reverse Left"; else reverse = "noreverse Right"; endif inout = "inside"; keypos = hlgnd.location; if (ischar (keypos)) keypos = lower (keypos); keyout = strfind (keypos, "outside"); if (! isempty (keyout)) inout = "outside"; keypos = keypos(1:keyout-1); endif endif switch (keypos) case "north" pos = "center top"; case "south" pos = "center bottom"; case "east" pos = "right center"; case "west" pos = "left center"; case "northeast" pos = "right top"; case "northwest" pos = "left top"; case "southeast" pos = "right bottom"; case "southwest" pos = "left bottom"; case "best" pos = ""; warning ("legend: 'Best' not yet implemented for location specifier.\n"); ## Least conflict with data in plot. ## Least unused space outside plot. otherwise pos = ""; endswitch [fontname, fontsize] = get_fontname_and_size (hlgnd); fontspacespec = [create_spacingspec(fontname, fontsize, gnuplot_term),... ' ', create_fontspec(fontname, fontsize, gnuplot_term)]; textcolors = get (findobj (hlgnd.children, "type", "text"), "color"); if (iscell (textcolors)) textcolors = cell2mat (textcolors); textcolors = unique (textcolors, "rows"); endif if (rows (textcolors) > 1) ## Gnuplot is unable to assign arbitrary colors to each text entry ## for the key/legend. But, the text color can be set to match the ## color of the plot object. colorspec = "textcolor variable"; else colorspec = get_text_colorspec (textcolors); endif fprintf (plot_stream, "set key %s %s;\nset key %s %s %s %s %s %s;\n", inout, pos, box, reverse, horzvert, fontspacespec, colorspec, __do_enhanced_option__ (enhanced, hlgnd)); else fputs (plot_stream, "unset key;\n"); endif fputs (plot_stream, "set style data lines;\n"); cmap = [cmap; addedcmap]; cmap_sz += rows (addedcmap); if (cmap_sz == 1) # bug #48083, illegal one-element colormap cmap = [cmap; cmap]; cmap_sz = 2; endif if (length (cmap) > 0) fprintf (plot_stream, "set palette positive color model RGB maxcolors %i;\n", cmap_sz); fprintf (plot_stream, "set palette file \"-\" binary record=%d using 1:2:3:4;\n", cmap_sz); fwrite (plot_stream, [1:cmap_sz; cmap.'], "float32"); fwrite (plot_stream, "\n"); endif fputs (plot_stream, "unset colorbox;\n"); if (have_data) if (nd == 2) plot_cmd = "plot"; else plot_cmd = "splot"; ## Wrap view correctly to match Matlab if (axis_obj.view(2) <= 90) rot_x = 90 - axis_obj.view(2); else rot_x = axis_obj.view(2) - 90; endif rot_x = mod (rot_x, 360); while (rot_x < 0) rot_x += 360; endwhile if (axis_obj.view(2) <= 90) rot_z = axis_obj.view(1); else rot_z = axis_obj.view(1) + 180; endif rot_z = mod (rot_z, 360); while (rot_z < 0) rot_z += 360; endwhile fputs (plot_stream, "set ticslevel 0;\n"); if (view_map && rot_x == 0 && rot_z == 0) fputs (plot_stream, "set view map;\n"); else fprintf (plot_stream, "set view %.15g, %.15g;\n", rot_x, rot_z); endif endif if (have_3d_patch (1)) fputs (plot_stream, "set pm3d depthorder\n"); fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd, usingclause{1}, titlespec{1}, withclause{1}); elseif (is_image_data (1)) if (numel (is_image_data) > 1 && is_image_data(2)) ## Remove terminating semicolon n = max (strfind (withclause{1}, ";")); if (! isempty (n)) withclause{1} = withclause{1}(1:n-1); endif endif fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd, usingclause{1}, titlespec{1}, withclause{1}); else fprintf (plot_stream, "%s \"-\" binary format='%%float64' %s %s %s \\\n", plot_cmd, usingclause{1}, titlespec{1}, withclause{1}); endif for i = 2:data_idx if (have_3d_patch (i)) fprintf (plot_stream, ", \"-\" %s %s %s \\\n", usingclause{i}, titlespec{i}, withclause{i}); elseif (is_image_data (i)) if (! is_image_data (i-1)) fputs (plot_stream, "; "); if (bg_is_set) fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n"); bg_is_set = false; endif if (fg_is_set) fputs (plot_stream, "unset obj 2; \\\n"); fg_is_set = false; endif if (numel (is_image_data) > i && is_image_data(i+1)) ## Remove terminating semicolon n = max (strfind (withclause{i}, ";")); if (! isempty (n)) withclause{i} = withclause{i}(1:n-1); endif endif fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd, usingclause{i}, titlespec{i}, withclause{i}); else ## For consecutive images continue with the same plot command fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", ",", usingclause{i}, titlespec{i}, withclause{i}); endif elseif (is_image_data (i-1)) if (bg_is_set) fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n"); bg_is_set = false; endif if (fg_is_set) fputs (plot_stream, "unset obj 2; \\\n"); fg_is_set = false; endif fprintf (plot_stream,"%s \"-\" binary format='%%float64' %s %s %s \\\n", plot_cmd, usingclause{i}, titlespec{i}, withclause{i}); else fprintf (plot_stream, ", \"-\" binary format='%%float64' %s %s %s \\\n", usingclause{i}, titlespec{i}, withclause{i}); endif endfor fputs (plot_stream, ";\n"); for i = 1:data_idx if (have_3d_patch (i)) ## Can't write 3d patch data as binary as can't plot more than ## a single patch at a time and have to plot all patches together ## so that the gnuplot depth ordering is done correctly for j = 1 : 4 : columns (data{i}) if (j != 1) fputs (plot_stream, "\n\n"); endif fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j).'); fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n\n", data{i}(:,j+1).'); fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+2).'); fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+3).'); endfor fputs (plot_stream, "e\n"); elseif (is_image_data(i)) fwrite (plot_stream, data{i}, "float32"); else __gnuplot_write_data__ (plot_stream, data{i}, nd, parametric(i), have_cdata(i)); endif endfor fputs (plot_stream, "\n"); else fputs (plot_stream, "plot \"-\";\nInf Inf\ne\n"); endif ## Needed to allow mouse rotation if gnuplot was put in map view. if (view_map && rot_x == 0 && rot_z == 0) fputs (plot_stream, "set view 0,0;\n"); endif if (bg_is_set) fputs (plot_stream, "if (GPVAL_TERM eq \"qt\") unset obj 1;\n"); bg_is_set = false; endif fflush (plot_stream); endfunction function x = flip (x) if (rows (x) == 1) x = fliplr (x); elseif (columns (x) == 1 || ischar (x)) x = flipud (x); else x = flipud (fliplr (x)); endif endfunction function spacing_spec = create_spacingspec (f, s, gp_term) ## The gnuplot default font size is 10, and default spacing is 1.25. ## gnuplot has a concept of a figure global font, and sizes everything ## appropriate to that, including the legend spacing. ## ## This means that if an alternative size is used, gnuplot will use an ## inappropriate spacing in the legend by default. ## ## FIXME: Are fractional spacing specifications allowed? Or should this ## number be rounded? spc = s / 10 * 1.25; spacing_spec = sprintf ("spacing %d", spc); endfunction function fontspec = create_fontspec (f, s, gp_term) if (isempty (f) || strcmp (f, "*") || strcmp (gp_term, "tikz")) fontspec = sprintf ("font \",%d\"", s); else fontspec = sprintf ("font \"%s,%d\"", f, s); endif endfunction function idx = do_border_2d (obj, plot_stream, idx) fprintf (plot_stream, "set border 0\n"); if (strcmp (obj.box, "on") || strcmp (obj.xaxislocation, "bottom")) arrow (1, obj.xcolor, obj.linewidth, [0,0,0], [1,0,0]); endif if (strcmp (obj.box, "on") || strcmp (obj.xaxislocation, "top")) arrow (2, obj.xcolor, obj.linewidth, [0,1,0], [1,1,0]); endif if (strcmp (obj.box, "on") || strcmp (obj.yaxislocation, "left")) arrow (3, obj.ycolor, obj.linewidth, [0,0,0], [0,1,0]); endif if (strcmp (obj.box, "on") || strcmp (obj.yaxislocation, "right")) arrow (4, obj.ycolor, obj.linewidth, [1,0,0], [1,1,0]); endif if (any (strcmp (obj.xaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 idx = zeroaxis (idx, obj.xcolor, "x"); endif if (any (strcmp (obj.yaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 idx = zeroaxis (idx, obj.ycolor, "y"); endif function idx = zeroaxis (idx, lc, ax) idx = idx + 1; do_linestyle_command (obj, lc, idx, false, plot_stream); fprintf (plot_stream, "set %szeroaxis ls %d ", ax, idx); fprintf (plot_stream, "lw %.3f\n", obj.linewidth); endfunction function arrow (idx, lc, lw, from, to) fprintf (plot_stream, "set arrow %d ", idx); fprintf (plot_stream, "nohead nofilled front "); fprintf (plot_stream, "lc rgb ""#%02x%02x%02x"" ", round (255 * lc)); fprintf (plot_stream, "linewidth %.3f ", obj.linewidth); fprintf (plot_stream, "from graph %d,%d,%d ", from); fprintf (plot_stream, "to graph %d,%d,%d\n", to); endfunction endfunction function idx = do_border_tick_3d (obj, plot_stream, idx) ## axis location has no effect if (strcmp (obj.box, "on")) fputs (plot_stream, "set border 0xFFF;\n"); mirrorstr = "mirror"; else fputs (plot_stream, "set border 0x15;\n"); mirrorstr = "nomirror"; endif tick ('x', obj.xcolor, obj.tickdir, mirrorstr); tick ('y', obj.ycolor, obj.tickdir, mirrorstr); tick ('z', obj.zcolor, obj.tickdir, mirrorstr); function tick (axischar, color, tickdir, mirrorstr); if (isnumeric (color)) if (length (color) == 3) colorspec = sprintf ("rgb \"#%02x%02x%02x\"", round (255*color)); else colorspec = sprintf ("palatte %d", round (color)); endif else colorspec = sprintf ("\"%s\"", color); endif fprintf (plot_stream, "set %ctics %s %s textcolor %s\n", axischar, tickdir, mirrorstr, colorspec); endfunction endfunction function [style, ltidx] = do_linestyle_command (obj, linecolor, idx, plot_stream) idx = idx + 8; style = {}; ltidx = []; fprintf (plot_stream, "set style line %d default;\n", idx); fprintf (plot_stream, "set style line %d", idx); found_style = false; if (isnumeric (linecolor)) color = linecolor; if (isfield (obj, "alpha") && __gnuplot_has_feature__ ("alphablend_linecolor")) alphastr = sprintf ("%02x", round (255*(1-obj.alpha))); else alphastr = ""; endif fprintf (plot_stream, " linecolor rgb \"#%s%02x%02x%02x\"", alphastr, round (255*color)); else color = [0, 0, 0]; flat_interp_edge = (strcmp (obj.edgecolor, "flat") || strcmp (obj.edgecolor, "interp")); if (flat_interp_edge) fprintf (plot_stream, " palette"); endif endif lt = gnuplot_linestyletype (obj); if (! isempty (lt)) fprintf (plot_stream, " %s", lt); endif if (isfield (obj, "linewidth")) fprintf (plot_stream, " linewidth %f", obj.linewidth); found_style = true; endif [pt, pt2, obj] = gnuplot_pointtype (obj); if (! isempty (pt)) found_style = true; endif sidx = 1; if (isempty (lt)) style{sidx} = ""; else style{sidx} = "lines"; endif ltidx(sidx) = idx; facesame = true; if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor") && ! strcmp (obj.markerfacecolor, "none")) if (strcmp (obj.markerfacecolor, "auto") || (isnumeric (obj.markerfacecolor) && isequal (color, obj.markerfacecolor))) if (! isempty (pt2)) fprintf (plot_stream, " pointtype %s", pt2); style{sidx} = [style{sidx} "points"]; endif if (isfield (obj, "markersize")) fprintf (plot_stream, " pointsize %f", obj.markersize / 3); endif else facesame = false; if (! found_style) fputs (plot_stream, " default"); endif fputs (plot_stream, ";\n"); if (! isempty (style{sidx})) sidx += 1; idx += 1; else fputs (plot_stream, ";\n"); endif fprintf (plot_stream, "set style line %d default;\n", idx); fprintf (plot_stream, "set style line %d", idx); if (isnumeric (obj.markerfacecolor)) fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"", round (255*obj.markerfacecolor)); else fprintf (plot_stream, " palette"); endif if (! isempty (pt2)) style{sidx} = "points"; ltidx(sidx) = idx; fprintf (plot_stream, " pointtype %s", pt2); endif if (isfield (obj, "markersize")) fprintf (plot_stream, " pointsize %f", obj.markersize / 3); endif endif endif if (! isempty(pt) && isfield (obj, "markeredgecolor") && ! strcmp (obj.markeredgecolor, "none")) if (facesame && (strcmp (obj.markeredgecolor, "auto") || (isnumeric (obj.markeredgecolor) && isequal (color, obj.markeredgecolor)))) if (sidx == 1 && ((length (style{sidx}) == 5 && strncmp (style{sidx}, "lines", 5)) || isempty (style{sidx}))) style{sidx} = [style{sidx} "points"]; fprintf (plot_stream, " pointtype %s", pt); if (isfield (obj, "markersize")) fprintf (plot_stream, " pointsize %f", obj.markersize / 3); endif endif else if (! found_style) fputs (plot_stream, " default"); endif fputs (plot_stream, ";\n"); if (! isempty (style{sidx})) sidx += 1; idx += 1; else fputs (plot_stream, ";\n"); endif fprintf (plot_stream, "set style line %d default;\n", idx); fprintf (plot_stream, "set style line %d", idx); if (isnumeric (obj.markeredgecolor) || strcmp (obj.markeredgecolor, "auto")) if (isnumeric (obj.markeredgecolor)) edgecolor = obj.markeredgecolor; else edgecolor = obj.color; end fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"", round (255*edgecolor)); else fprintf (plot_stream, " palette"); endif style{sidx} = "points"; ltidx(sidx) = idx; fprintf (plot_stream, " pointtype %s", pt); if (isfield (obj, "markersize")) fprintf (plot_stream, " pointsize %f", obj.markersize / 3); endif endif endif if (! found_style && isempty (style{1})) fputs (plot_stream, " default"); endif fputs (plot_stream, ";\n"); endfunction function lt = gnuplot_linestyletype (obj) if (isfield (obj, "linestyle")) if (__gnuplot_has_feature__ ("dashtype")) opt = "dashtype"; switch (obj.linestyle) case "-" lt = "solid"; case "--" lt = "'_ '"; case ":" lt = "'. '"; case "-." lt = "'-. '"; case "none" lt = ""; otherwise lt = ""; endswitch else opt = "linetype"; switch (obj.linestyle) case "-" lt = "1"; case "--" lt = "2"; case ":" lt = "3"; case "-." lt = "6"; case "none" lt = ""; otherwise lt = ""; endswitch endif if (! isempty (lt)) lt = sprintf ("%s %s", opt, lt); endif else lt = ""; endif endfunction function [pt, pt2, obj] = gnuplot_pointtype (obj) if (isfield (obj, "marker")) switch (obj.marker) case "+" pt = pt2 = "1"; case "o" pt = "6"; pt2 = "7"; case "*" pt = pt2 = "3"; case "." pt = pt2 = "7"; if (isfield (obj, "markersize")) obj.markersize /= 3; else obj.markersize = 5; endif case "x" pt = pt2 = "2"; case {"square", "s"} pt = "4"; pt2 = "5"; case {"diamond", "d"} pt = "12"; pt2 = "13"; case "^" pt = "8"; pt2 = "9"; case "v" pt = "10"; pt2 = "11"; case ">" ## FIXME: Should be triangle pointing right, use triangle pointing up pt = "8"; pt2 = "9"; case "<" ## FIXME: Should be triangle pointing left, use triangle pointing down pt = "10"; pt2 = "11"; case {"pentagram", "p"} ## FIXME: Should be pentagram, using pentagon pt = "14"; pt2 = "15"; case {"hexagram", "h"} ## FIXME: Should be 6 pt start, using "*" instead pt = pt2 = "3"; case "none" pt = pt2 = "-1"; otherwise pt = pt2 = ""; endswitch else pt = pt2 = ""; endif endfunction function __gnuplot_write_data__ (plot_stream, data, nd, parametric, cdata) ## DATA is already transposed. ## Convert NA elements to normal NaN values because fprintf writes ## "NA" and that confuses gnuplot. data(isna (data)) = NaN; if (nd == 2) fwrite (plot_stream, data, "float64"); elseif (nd == 3) if (parametric) fwrite (plot_stream, data, "float64"); else nr = rows (data); if (cdata) for j = 1:4:nr fwrite (plot_stream, data(j:j+3,:), "float64"); endfor else for j = 1:3:nr fwrite (plot_stream, data(j:j+2,:), "float64"); endfor endif endif endif endfunction function do_tics (obj, plot_stream, ymirror, gnuplot_term) obj.xticklabel = ticklabel_to_cell (obj.xticklabel); obj.yticklabel = ticklabel_to_cell (obj.yticklabel); obj.zticklabel = ticklabel_to_cell (obj.zticklabel); if (strcmp (obj.xminorgrid, "on")) obj.xminortick = "on"; endif if (strcmp (obj.yminorgrid, "on")) obj.yminortick = "on"; endif if (strcmp (obj.zminorgrid, "on")) obj.zminortick = "on"; endif [fontname, fontsize] = get_fontname_and_size (obj); fontspec = create_fontspec (fontname, fontsize, gnuplot_term); ## A Gnuplot tic scale of 69 is equivalent to Octave's 0.5. ticklength = sprintf ("scale %4.1f", (69/0.5)*obj.ticklength(1)); if (strcmp (obj.xaxislocation, "top")) do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x2", plot_stream, true, "border", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x", plot_stream, true, "border", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); elseif (any (strcmp (obj.xaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x", plot_stream, true, "axis", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x2", plot_stream, true, "axis", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); else do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x", plot_stream, true, "border", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel, obj.xcolor, "x2", plot_stream, true, "border", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term); endif if (strcmp (obj.yaxislocation, "right")) do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y2", plot_stream, ymirror, "border", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror, "border", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); elseif (any (strcmp (obj.yaxislocation, {"origin", "zero"}))) # FIXME: Remove "zero" in 4.6 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror, "axis", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y2", plot_stream, ymirror, "axis", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); else do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror, "border", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel, obj.ycolor, "y2", plot_stream, ymirror, "border", "", "", fontname, fontspec, obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term); endif do_tics_1 (obj.ztickmode, obj.ztick, obj.zminortick, obj.zticklabelmode, obj.zticklabel, obj.zcolor, "z", plot_stream, true, "border", obj.tickdir, ticklength, fontname, fontspec, obj.ticklabelinterpreter, obj.zscale, obj.zsgn, gnuplot_term); endfunction function do_tics_1 (ticmode, tics, mtics, labelmode, labels, color, ax, plot_stream, mirror, axispos, tickdir, ticklength, fontname, fontspec, interpreter, scale, sgn, gnuplot_term) persistent warned_latex = false; ## Avoid emitting anything if the tics are empty, because this undoes the ## effect of the previous unset xtics and thereby adds back in the tics. if (isempty (tics)) return; endif if (mirror) mirror = "mirror"; else mirror = "nomirror"; endif if (strcmp (interpreter, "tex")) for n = 1 : numel (labels) labels{n} = __tex2enhanced__ (labels{n}, fontname, false, false); endfor elseif (strcmp (interpreter, "latex")) if (! warned_latex) warning ("latex markup not supported for tick marks"); warned_latex = true; endif endif if (strcmp (scale, "log")) num_mtics = 10; if (any (strcmp (gnuplot_term, {"cairolatex", "eepic", "epslatex", ... "latex", "pslatex", "pstex", "pstricks", "texdraw", "tikz"}))) fmt = "$10^{%T}$"; else fmt = "10^{%T}"; endif if (sgn < 0) fmt = ["-" fmt]; endif else fmt = "%g"; num_mtics = 5; endif colorspec = get_text_colorspec (color); fprintf (plot_stream, "set format %s \"%s\";\n", ax, fmt); if (strcmp (ticmode, "manual")) if (isempty (tics)) fprintf (plot_stream, "unset %stics;\nunset m%stics;\n", ax, ax); return endif fprintf (plot_stream, "set %stics %s %s %s %s (", ax, tickdir, ticklength, axispos, mirror); fprintf (plot_stream, " %.15g,", tics(1:end-1)); fprintf (plot_stream, " %.15g) %s;\n", tics(end), fontspec); else fprintf (plot_stream, "set %stics %s %s %s %s %s %s;\n", ax, tickdir, ticklength, axispos, mirror, colorspec, fontspec); endif if (strcmp (labelmode, "manual")) k = 1; ntics = numel (tics); nlabels = numel (labels); fprintf (plot_stream, "set %stics add %s %s %s %s (", ax, tickdir, ticklength, axispos, mirror); labels = strrep (labels, "%", "%%"); for i = 1:ntics fprintf (plot_stream, " \"%s\" %.15g", labels{k++}, tics(i)); if (i < ntics) fputs (plot_stream, ", "); endif if (k > nlabels) k = 1; endif endfor fprintf (plot_stream, ") %s %s;\n", colorspec, fontspec); endif if (strcmp (mtics, "on")) fprintf (plot_stream, "set m%stics %d;\n", ax, num_mtics); else fprintf (plot_stream, "unset m%stics;\n", ax); endif endfunction function ticklabel = ticklabel_to_cell (ticklabel) if (ischar (ticklabel)) ticklabel = cellstr (ticklabel); elseif (iscellstr (ticklabel)) ticklabel = ticklabel; else error ("__gnuplot_draw_axes__: unsupported type of ticklabel"); endif endfunction function colorspec = get_text_colorspec (color) colorspec = sprintf ("textcolor rgb \"#%02x%02x%02x\"", round (255*color)); endfunction function [f, s, fnt, it, bld] = get_fontname_and_size (t) if (isempty (t.fontname) || strcmp (t.fontname, "*")) if (ispc ()) ## FIXME: Should really test for "windows" terminal which is the ## only terminal to have a problem with a null font specification. ## See Bug #49135. fnt = "Arial"; else fnt = ""; endif else fnt = t.fontname; endif f = fnt; it = false; bld = false; if (! isempty (t.fontweight) && strcmp (t.fontweight, "bold")) if (! isempty (t.fontangle) && (strcmp (t.fontangle, "italic") || strcmp (t.fontangle, "oblique"))) if (__gnuplot_has_feature__ ("fontspec_5")) f = [f ":Bold:Italic"]; else f = [f "-bolditalic"]; endif it = true; bld = true; else if (__gnuplot_has_feature__ ("fontspec_5")) f = [f ":Bold"]; else f = [f "-bold"]; endif bld = true; endif elseif (! isempty (t.fontangle) && (strcmp (t.fontangle, "italic") || strcmp (t.fontangle, "oblique"))) if (__gnuplot_has_feature__ ("fontspec_5")) f = [f ":Italic"]; else f = [f "-italic"]; endif it = true; endif if (isempty (t.fontsize)) s = 10; else s = t.fontsize; endif endfunction function [str, f, s] = __maybe_munge_text__ (enhanced, obj, fld) persistent warned_latex = false; if (strcmp (fld, "string")) [f, s, fnt, it, bld] = get_fontname_and_size (obj); else f = "Helvetica"; s = 10; fnt = f; it = false; bld = false; endif ## The text object may be multiline, and may be of any class str = getfield (obj, fld); if (ischar (str) && rows (str) > 1) str = cellstr (str); elseif (isnumeric (str)) str = cellstr (num2str (str(:))); endif if (iscellstr (str)) for n = 1:numel (str) if (isnumeric (str{n})) str{n} = num2str (str{n}); endif endfor str = sprintf ("%s\n", str{:})(1:end-1); endif if (enhanced) str = regexprep (str, '(?<!\\)@', '\\@'); endif if (enhanced) if (strcmp (obj.interpreter, "tex")) if (iscellstr (str)) for n = 1:numel (str) str{n} = __tex2enhanced__ (str{n}, fnt, it, bld); endfor else str = __tex2enhanced__ (str, fnt, it, bld); endif elseif (strcmp (obj.interpreter, "latex")) if (! warned_latex) warning ("latex markup not supported for text objects"); warned_latex = true; endif endif endif endfunction function str = __tex2enhanced__ (str, fnt, it, bld) persistent sym = __setup_sym_table__ (); persistent flds = fieldnames (sym); [s, e, m] = regexp (str, "\\\\([a-zA-Z]+|0)", "start", "end", "matches"); for i = length (s) : -1 : 1 ## special case for "\0" and replace with empty set "{/Symbol \306}' if (strncmp (m{i}, '\0', 2)) str = [str(1:s(i) - 1) '{/Symbol \306}' str(s(i) + 2:end)]; else f = m{i}(2:end); if (isfield (sym, f)) g = getfield (sym, f); ## FIXME: The symbol font doesn't seem to support bold or italic ##if (bld) ## if (it) ## g = strrep (g, '/Symbol', '/Symbol-bolditalic'); ## else ## g = strrep (g, '/Symbol', '/Symbol-bold'); ## endif ##elseif (it) ## g = strrep (g, '/Symbol', '/Symbol-italic'); ##endif str = [str(1:s(i) - 1) g str(e(i) + 1:end)]; elseif (strncmp (f, "rm", 2)) bld = false; it = false; str = [str(1:s(i) - 1) '{/' fnt ' ' str(s(i) + 3:end) '}']; elseif (strncmp (f, "it", 2) || strncmp (f, "sl", 2)) it = true; if (__gnuplot_has_feature__ ("fontspec_5")) if (bld) str = [str(1:s(i)-1) '{/' fnt ':Bold:Italic ' str(s(i)+3:end) '}']; else str = [str(1:s(i)-1) '{/' fnt ':Italic ' str(s(i)+3:end) '}']; endif else if (bld) str = [str(1:s(i)-1) '{/' fnt '-bolditalic ' str(s(i)+3:end) '}']; else str = [str(1:s(i)-1) '{/' fnt '-italic ' str(s(i)+3:end) '}']; endif endif elseif (strncmp (f, "bf", 2)) bld = true; if (__gnuplot_has_feature__ ("fontspec_5")) if (it) str = [str(1:s(i)-1) '{/' fnt ':Bold:Italic ' str(s(i)+3:end) '}']; else str = [str(1:s(i)-1) '{/' fnt ':Bold ' str(s(i)+3:end) '}']; endif else if (it) str = [str(1:s(i)-1) '{/' fnt '-bolditalic ' str(s(i)+3:end) '}']; else str = [str(1:s(i)-1) '{/' fnt '-bold ' str(s(i)+3:end) '}']; endif endif elseif (strcmp (f, "color")) ## FIXME: Ignore \color but remove trailing {} block as well d = strfind (str(e(i) + 1:end),'}'); if (isempty (d)) warning ('syntax error in \color argument'); else str = [str(1:s(i) - 1) str(e(i) + d + 1:end)]; endif elseif (strcmp (f, "fontname")) b1 = strfind (str(e(i) + 1:end),'{'); b2 = strfind (str(e(i) + 1:end),'}'); if (isempty (b1) || isempty (b2)) warning ('syntax error in \fontname argument'); else str = [str(1:s(i) - 1), '/', str(e(i)+b1(1) + 1:e(i)+b2(1)-1), ... '{}', str(e(i) + b2(1) + 1:end)]; endif elseif (strcmp (f, "fontsize")) b1 = strfind (str(e(i) + 1:end),'{'); b2 = strfind (str(e(i) + 1:end),'}'); if (isempty (b1) || isempty (b2)) warning ('syntax error in \fontname argument'); else str = [str(1:s(i) - 1), '/=', str(e(i)+b1(1) + 1:e(i)+b2(1)-1), ... '{}', str(e(i) + b2(1) + 1:end)]; endif else ## Last desperate attempt to treat the symbol. Look for things ## like \pix, that should be translated to the symbol Pi and x for j = 1 : length (flds) if (strncmp (flds{j}, f, length (flds{j}))) g = getfield (sym, flds{j}); ## FIXME: The symbol font doesn't seem to support bold or italic ##if (bld) ## if (it) ## g = strrep (g, '/Symbol', '/Symbol-bolditalic'); ## else ## g = strrep (g, '/Symbol', '/Symbol-bold'); ## endif ##elseif (it) ## g = strrep (g, '/Symbol', '/Symbol-italic'); ##endif str = [str(1:s(i) - 1) g str(s(i) + length (flds{j}) + 1:end)]; break; endif endfor endif endif endfor ## Prepend @ to things like _0^x or _{-100}^{100} for alignment. ## But need to put the shorter of the two arguments first. ## Careful of nested {} and unprinted characters when defining ## shortest.. Don't have to worry about things like ^\theta as they ## are already converted to ^{/Symbol q}. ## FIXME: This is a mess. Is it worth it just for a "@" character? [s, m] = regexp (str,'[_\^]','start','matches'); i = 1; p = 0; while (i < length (s)) if (i < length (s)) if (str(s(i) + p + 1) == "{") s1 = strfind (str(s(i) + p + 2:end),'{'); si = 1; l1 = strfind (str(s(i) + p + 1:end),'}'); li = 1; while (li <= length (l1) && si <= length (s1)) if (l1(li) < s1(si)) if (li == si) break; endif li += 1; else si += 1; endif endwhile l1 = l1(min (length (l1), si)); if (s(i) + l1 + 1 == s(i+1)) if (str(s(i + 1) + p + 1) == "{") s2 = strfind (str(s(i + 1) + p + 2:end),'{'); si = 1; l2 = strfind (str(s(i + 1) + p + 1:end),'}'); li = 1; while (li <= length (l2) && si <= length (s2)) if (l2(li) < s2(si)) if (li == si) break; endif li += 1; else si += 1; endif endwhile l2 = l2(min (length (l2), si)); if (length_string (str(s(i)+p+2:s(i)+p+l1-1)) <= length_string (str(s(i+1)+p+2:s(i+1)+p+l2-1))) ## Shortest already first! str = [str(1:s(i)+p-1) "@" str(s(i)+p:end)]; else ## Have to swap sub/super-script to get shortest first. str = [str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+l2), ... str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+l2+1:end)]; endif else ## Have to swap sub/super-script to get shortest first. str = [str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+1), ... str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+2:end)]; endif i += 2; p += 1; else i += 1; endif else if (s(i+1) == s(i) + 2) ## Shortest already first! str = [str(1:s(i)+p-1) "@" str(s(i)+p:end)]; p += 1; i += 2; else i += 1; endif endif else i += 1; endif endwhile endfunction function l = length_string (s) l = length (s) - length (strfind (s,'{')) - length (strfind (s,'}')); m = regexp (s, '/([\w-]+|[\w-]+=\d+)', 'matches'); if (! isempty (m)) l -= sum (cellfun ("length", m)); endif endfunction function sym = __setup_sym_table__ () ## Setup the translation table for TeX to gnuplot enhanced mode. sym.forall = '{/Symbol \042}'; sym.exists = '{/Symbol \044}'; sym.ni = '{/Symbol \047}'; sym.cong = '{/Symbol \100}'; sym.Delta = '{/Symbol D}'; sym.Phi = '{/Symbol F}'; sym.Gamma = '{/Symbol G}'; sym.vartheta = '{/Symbol J}'; sym.Lambda = '{/Symbol L}'; sym.Pi = '{/Symbol P}'; sym.Theta = '{/Symbol Q}'; sym.Sigma = '{/Symbol S}'; sym.varsigma = '{/Symbol V}'; sym.Omega = '{/Symbol W}'; sym.Xi = '{/Symbol X}'; sym.Psi = '{/Symbol Y}'; sym.perp = '{/Symbol \136}'; sym.alpha = '{/Symbol a}'; sym.beta = '{/Symbol b}'; sym.chi = '{/Symbol c}'; sym.delta = '{/Symbol d}'; sym.epsilon = '{/Symbol e}'; sym.phi = '{/Symbol f}'; sym.gamma = '{/Symbol g}'; sym.eta = '{/Symbol h}'; sym.iota = '{/Symbol i}'; sym.varphi = '{/Symbol j}'; # Not in OpenGL sym.kappa = '{/Symbol k}'; sym.lambda = '{/Symbol l}'; sym.mu = '{/Symbol m}'; sym.nu = '{/Symbol n}'; sym.o = '{/Symbol o}'; sym.pi = '{/Symbol p}'; sym.theta = '{/Symbol q}'; sym.rho = '{/Symbol r}'; sym.sigma = '{/Symbol s}'; sym.tau = '{/Symbol t}'; sym.upsilon = '{/Symbol u}'; sym.varpi = '{/Symbol v}'; sym.omega = '{/Symbol w}'; sym.xi = '{/Symbol x}'; sym.psi = '{/Symbol y}'; sym.zeta = '{/Symbol z}'; sym.sim = '{/Symbol \176}'; sym.Upsilon = '{/Symbol \241}'; sym.prime = '{/Symbol \242}'; sym.leq = '{/Symbol \243}'; sym.infty = '{/Symbol \245}'; sym.clubsuit = '{/Symbol \247}'; sym.diamondsuit = '{/Symbol \250}'; sym.heartsuit = '{/Symbol \251}'; sym.spadesuit = '{/Symbol \252}'; sym.leftrightarrow = '{/Symbol \253}'; sym.leftarrow = '{/Symbol \254}'; sym.uparrow = '{/Symbol \255}'; sym.rightarrow = '{/Symbol \256}'; sym.downarrow = '{/Symbol \257}'; sym.circ = '{/Symbol \260}'; # degree symbol, not circ as in FLTK sym.deg = '{/Symbol \260}'; sym.ast = '{/Symbol *}'; sym.pm = '{/Symbol \261}'; sym.geq = '{/Symbol \263}'; sym.times = '{/Symbol \264}'; sym.propto = '{/Symbol \265}'; sym.partial = '{/Symbol \266}'; sym.bullet = '{/Symbol \267}'; sym.div = '{/Symbol \270}'; sym.neq = '{/Symbol \271}'; sym.equiv = '{/Symbol \272}'; sym.approx = '{/Symbol \273}'; sym.ldots = '{/Symbol \274}'; sym.mid = '{/Symbol \275}'; sym.aleph = '{/Symbol \300}'; sym.Im = '{/Symbol \301}'; sym.Re = '{/Symbol \302}'; sym.wp = '{/Symbol \303}'; sym.otimes = '{/Symbol \304}'; sym.oplus = '{/Symbol \305}'; ## empty set, not circled slash division operator as in FLTK. sym.oslash = '{/Symbol \306}'; sym.cap = '{/Symbol \307}'; sym.cup = '{/Symbol \310}'; sym.supset = '{/Symbol \311}'; sym.supseteq = '{/Symbol \312}'; sym.subset = '{/Symbol \314}'; sym.subseteq = '{/Symbol \315}'; sym.in = '{/Symbol \316}'; sym.notin = '{/Symbol \317}'; # Not in OpenGL sym.angle = '{/Symbol \320}'; sym.bigtriangledown = '{/Symbol \321}'; # Not in OpenGL sym.langle = '{/Symbol \341}'; sym.rangle = '{/Symbol \361}'; sym.nabla = '{/Symbol \321}'; sym.prod = '{/Symbol \325}'; # Not in OpenGL sym.surd = '{/Symbol \326}'; sym.cdot = '{/Symbol \327}'; sym.neg = '{/Symbol \330}'; sym.wedge = '{/Symbol \331}'; sym.vee = '{/Symbol \332}'; sym.Leftrightarrow = '{/Symbol \333}'; # Not in OpenGL sym.Leftarrow = '{/Symbol \334}'; sym.Uparrow = '{/Symbol \335}'; # Not in OpenGL sym.Rightarrow = '{/Symbol \336}'; sym.Downarrow = '{/Symbol \337}'; # Not in OpenGL sym.diamond = '{/Symbol \340}'; # Not in OpenGL sym.copyright = '{/Symbol \343}'; sym.lfloor = '{/Symbol \353}'; sym.lceil = '{/Symbol \351}'; sym.rfloor = '{/Symbol \373}'; sym.rceil = '{/Symbol \371}'; sym.int = '{/Symbol \362}'; endfunction function retval = __do_enhanced_option__ (enhanced, obj) retval = ""; if (enhanced) if (strcmp (obj.interpreter, "none")) retval = "noenhanced"; else retval = "enhanced"; endif endif endfunction function do_text (stream, gpterm, enhanced, obj, hax, screenpos) [label, f, s] = __maybe_munge_text__ (enhanced, obj, "string"); fontspec = create_fontspec (f, s, gpterm); lpos = obj.position; halign = obj.horizontalalignment; valign = obj.verticalalignment; angle = obj.rotation; units = obj.units; color = obj.color; if (nargin > 5) units = "screen"; lpos = screenpos; elseif (strcmp (units, "normalized")) units = "graph"; elseif (strcmp (get (hax, "yaxislocation"), "right") && strcmp (units, "data")) units = "second"; else units = ""; endif if (isnumeric (color)) colorspec = get_text_colorspec (color); endif if (ischar (obj.string)) num_lines = rows (obj.string); num_lines += numel (strfind (obj.string, "\n")); else num_lines = numel (obj.string); endif switch (valign) ## Text offset in characters. Relies on gnuplot for font metrics. case "top" dy = -0.5; case "cap" dy = -0.5; case "middle" dy = 0.5 * (num_lines - 1); case "baseline" dy = 0.5 + (num_lines - 1); case "bottom" dy = 0.5 + (num_lines - 1); endswitch ## Gnuplot's Character units are different for x/y and vary with ## fontsize. The aspect ratio of 1:1.7 was determined by experiment ## to work for eps/ps/etc. For the MacOS aqua terminal a value of 2.5 ## is needed. However, the difference is barely noticeable. dx_and_dy = [(-dy * sind (angle)), (dy * cosd (angle))] .* [1.7 1]; ## FIXME: Multiline text produced the gnuplot ## "warning: ft_render: skipping glyph" if (__calc_dimensions__ (hax) == 3) zstr = sprintf (",%.15e", lpos(3)); else zstr = ""; endif fprintf (stream, "set label \"%s\" at %s %.15e,%.15e%s %s rotate by %f offset character %f,%f %s %s front %s;\n", undo_string_escapes (label), units, lpos(1), lpos(2), zstr, halign, angle, dx_and_dy, fontspec, __do_enhanced_option__ (enhanced, obj), colorspec); endfunction function maybe_do_xtick_mirror (plot_stream, axis_obj) if (! isempty(axis_obj.xtick)) fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n", axis_obj.tickdir); endif endfunction function maybe_do_x2tick_mirror (plot_stream, axis_obj) if (! isempty(axis_obj.xtick)) fprintf (plot_stream, "unset xtics; set x2tics %s nomirror\n", axis_obj.tickdir); endif endfunction function retval = mapcdata (cdata, mode, clim, cmap_sz) if (ndims (cdata) == 3) ## True Color, clamp data to 8-bit clim = double (clim); cdata = double (cdata); clim_rng = clim(2) - clim(1); if (clim_rng != 0) cdata = 255 * (cdata - clim(1)) / clim_rng; cdata(cdata < 0) = 0; cdata(cdata > 255) = 255; else cdata(:) = 255; endif ## Scale using inverse of gnuplot's cbrange mapping retval = 1 + cdata * (cmap_sz-1)/255; else if (islogical (cdata)) cdata += 1; elseif (strcmp (mode, "scaled")) clim = double (clim); cdata = double (cdata); clim_rng = clim(2) - clim(1); if (clim_rng != 0) cdata = 1 + fix (cmap_sz * (cdata - clim(1)) / clim_rng); else cdata(:) = cmap_sz; endif else if (isinteger (cdata)) cdata += 1; else cdata = fix (cdata); endif endif retval = max (1, min (cdata, cmap_sz)); endif endfunction