.\" This is the manual page for ctioga2 .\" .\" Copyright 2009 by Vincent Fourmond .\" .\" This file is generated from the ctioga2 code and from the file ctioga2.1.template .\" .\" This program 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 2 of the License, or .\" (at your option) any later version. .\" .\" This program 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 (in the COPYING file). .\" .TH CTIOGA2 1 "2011-02-22" "Version 0.2" "Command-line interface for Tioga" .\" We want to use the .URL command .\" .mso www.tmac .\" Do we ?? .SH NAME ctioga2 \- a command-line front-end for the Tioga plotting library .SH SYNOPSIS .B ctioga2 .I arguments \&.\|.\|. .SH DESCRIPTION .B ctioga2 is a command-line front-end to the wonderful Tioga plotting library. It aims at plotting quickly both data files and mathematical functions, with however the possibility of a high control over the details. The main feature that was introduced compared to the old .B ctioga is that it is now possible to use command files for .BR ctioga2 : every single command-line option corresponds to a command, whose name is written. Just give the command the same arguments as to the command-line option. To read a command file, feed it to the .B -f command-line option. .SH EXAMPLES Here are a few examples, both from command-line and using the corresponding files. .TP 8 .BI ctioga2 \ File.dat Produces a file \fIPlot.pdf\fR showing the second column of File.dat as a function of the first. .P The corresponding command file would be: #!/usr/bin/env ctioga2 -f plot(File.dat) .SH OPTIONS .SS Plots Plots .TP 8 .B --plot \fIDATASET\fR Use the current backend to load the given datasets onto the data stack and plot them. It is a combination of the \fIload\fR and the \fIplot-last\fR commands; you might want to see their documentation. .br .B Optional arguments: .I color color-map error-bar-color fill fill-color fill-transparency ignore_hooks legend line-style line-width marker marker-color marker-color-map marker-scale name region-side split-on-nan style where xaxis yaxis zaxis .br .B Corresponding command: .I plot(dataset,option=...) .TP 8 .B -p, --plot-last \fI\fR Plots the last dataset pushed onto the data stack (or the one specified with the which option), with the current style. All aspects of the curve style (colors, markers, line styles...) can be overridden through the use of options. .br .B Optional arguments: .I color color-map error-bar-color fill fill-color fill-transparency legend line-style line-width marker marker-color marker-color-map marker-scale region-side split-on-nan style which xaxis yaxis zaxis .br .B Corresponding command: .I plot-last(,option=...) .SS Curves styles Set stylistic details of curves or other object drawn from data .TP 8 .B -c, --color \fICOLOR-OR-AUTO\fR Sets the color for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I color(color-or-auto) .TP 8 .B --color-map \fICOLORMAP-OR-AUTO\fR Sets the Color map for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I color-map(colormap-or-auto) .TP 8 .B --color-set \fICOLOR-SET\fR Chooses a set for the color of subsequent curves. Also sets \fIcolor\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I color-set(color-set) .TP 8 .B --error-bar-color \fICOLOR-OR-AUTO\fR Sets the error bar color for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I error-bar-color(color-or-auto) .TP 8 .B --error-bar-color-set \fICOLOR-SET\fR Chooses a set for the error bar color of subsequent curves. Also sets \fIerror-bar-color\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I error-bar-color-set(color-set) .TP 8 .B --fill \fIFILL-UNTIL-OR-AUTO\fR Sets the Fill until for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I fill(fill-until-or-auto) .TP 8 .B --fill-color \fICOLOR-OR-AUTO\fR Sets the fill color for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I fill-color(color-or-auto) .TP 8 .B --fill-color-set \fICOLOR-SET\fR Chooses a set for the fill color of subsequent curves. Also sets \fIfill-color\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I fill-color-set(color-set) .TP 8 .B --fill-set \fIFILL-UNTIL-SET\fR Chooses a set for the Fill until of subsequent curves. Also sets \fIfill\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I fill-set(fill-until-set) .TP 8 .B --fill-transparency \fIFLOAT-OR-AUTO\fR Sets the Fill transparency for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I fill-transparency(float-or-auto) .TP 8 .B --fill-transparency-set \fIFLOAT-SET\fR Chooses a set for the Fill transparency of subsequent curves. Also sets \fIfill-transparency\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I fill-transparency-set(float-set) .TP 8 .B --line-style \fILINE-STYLE-OR-AUTO\fR Sets the line style for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I line-style(line-style-or-auto) .TP 8 .B --line-style-set \fILINE-STYLE-SET\fR Chooses a set for the line style of subsequent curves. Also sets \fIline-style\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I line-style-set(line-style-set) .TP 8 .B --line-width \fIFLOAT-OR-AUTO\fR Sets the line width for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I line-width(float-or-auto) .TP 8 .B --line-width-set \fIFLOAT-SET\fR Chooses a set for the line width of subsequent curves. Also sets \fIline-width\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I line-width-set(float-set) .TP 8 .B -m, --marker \fIMARKER-OR-AUTO\fR Sets the marker for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I marker(marker-or-auto) .TP 8 .B --marker-color \fICOLOR-OR-AUTO\fR Sets the marker color for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I marker-color(color-or-auto) .TP 8 .B --marker-color-map \fICOLORMAP-OR-AUTO\fR Sets the Marker color map for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I marker-color-map(colormap-or-auto) .TP 8 .B --marker-color-set \fICOLOR-SET\fR Chooses a set for the marker color of subsequent curves. Also sets \fImarker-color\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I marker-color-set(color-set) .TP 8 .B --marker-scale \fIFLOAT-OR-AUTO\fR Sets the marker scale for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I marker-scale(float-or-auto) .TP 8 .B --marker-scale-set \fIFLOAT-SET\fR Chooses a set for the marker scale of subsequent curves. Also sets \fImarker-scale\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I marker-scale-set(float-set) .TP 8 .B --marker-set \fIMARKER-SET\fR Chooses a set for the marker of subsequent curves. Also sets \fImarker\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I marker-set(marker-set) .TP 8 .B --region-side \fIREGION-SIDE-OR-AUTO\fR Sets the region side for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I region-side(region-side-or-auto) .TP 8 .B --region-side-set \fIREGION-SIDE-SET\fR Chooses a set for the region side of subsequent curves. Also sets \fIregion-side\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I region-side-set(region-side-set) .TP 8 .B --[no-]split-on-nan \fI\fR Sets the Split on NaN for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I split-on-nan(boolean-or-auto) .TP 8 .B --style \fITEXT-OR-AUTO\fR Sets the Path style for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I style(text-or-auto) .TP 8 .B --style-set \fITEXT-SET\fR Chooses a set for the Path style of subsequent curves. Also sets \fIstyle\fR to auto, so that the set takes effect immediately .br .br .B Corresponding command: .I style-set(text-set) .TP 8 .B --zaxis \fITEXT-OR-AUTO\fR Sets the Name for the Z axis for subsequent curves, until cancelled with auto as argument. .br .br .B Corresponding command: .I zaxis(text-or-auto) .SS Legends Commands to specify legends and tweak their look. .TP 8 .B --[no-]auto-legend \fI\fR When this option is in effect (off by default), all datasets get a legend, their 'dataset name', unless another legend is manually specified. .br .br .B Corresponding command: .I auto-legend(boolean) .TP 8 .B -l, --legend \fITEXT\fR Sets the legend for the next dataset. Overridden by the legend option to the \fIplot\fR command. .br .br .B Corresponding command: .I legend(text) .TP 8 .B --legend-inside \fIALIGNED-POINT\fR Using this command sets the position of the legends for the current (sub)plot inside it, at the precise location given. As a shortcut, \fIlegend-inside\fR also takes all the options that \fIlegend-style\fR takes, with the same effect. .br .B Optional arguments: .I dy scale text_scale .br .B Corresponding command: .I legend-inside(aligned-point,option=...) .TP 8 .B --legend-line \fITEXT\fR Adds a line of text unrelated to any curve to the legend. .br .B Optional arguments: .I align angle color justification scale shift .br .B Corresponding command: .I legend-line(text,option=...) .TP 8 .B --legend-style \fI\fR Sets the various aspects of the style of the legends throught its options: .RS 10 .IP "\fB*\fR" 2 dy: the spacing between consecutive lines .IP "\fB*\fR" 2 scale: the overall scale of the legends .IP "\fB*\fR" 2 text_scale: the scale of the text (and the markers) inside the legends .RE .IP "" 8 .br .B Optional arguments: .I dy scale text_scale .br .B Corresponding command: .I legend-style(,option=...) .SS Switch between different kinds of plots How to switch between different kinds of plot types .TP 8 .B --xy-parametric \fI\fR Switch to XY parametric plots, that is standard XY plots whose appearance (such as color, marker color, and, potentially, marker kinds and more) are governed by one (or more ?) Z values. .br .br .B Corresponding command: .I xy-parametric() .TP 8 .B --xy-plot \fI\fR Switch (back) to standard XY plots (ctioga's default) .br .br .B Corresponding command: .I xy-plot() .TP 8 .B --xyz-map \fI\fR Switch to XYZ maps, ie plots where the color at a XY location is given by its Z value. .br .br .B Corresponding command: .I xyz-map() .SS Plot coordinates Plot coordinates .TP 8 .B --margin \fIFLOAT\fR Leaves a margin around the data points. Expressed in relative size of the whole plot. .br .br .B Corresponding command: .I margin(float) .TP 8 .B --xfact \fIFLOAT\fR Alias for \fIxscale\fR. .br .br .B Corresponding command: .I xfact(float) .TP 8 .B --[no-]xlog \fI\fR Uses a logarithmic scale for the X axis. .br .br .B Corresponding command: .I xlog(boolean) .TP 8 .B --xoffset \fIFLOAT\fR Adds the given offset to all X coordinates. .br .br .B Corresponding command: .I xoffset(float) .TP 8 .B --xrange \fIPARTIAL-FLOAT-RANGE\fR Sets the range of the X coordinates. .br .br .B Corresponding command: .I xrange(partial-float-range) .TP 8 .B --xscale \fIFLOAT\fR Multiplies the X coordinates by this factor. .br .br .B Corresponding command: .I xscale(float) .TP 8 .B --yfact \fIFLOAT\fR Alias for \fIyscale\fR. .br .br .B Corresponding command: .I yfact(float) .TP 8 .B --[no-]ylog \fI\fR Uses a logarithmic scale for the Y axis. .br .br .B Corresponding command: .I ylog(boolean) .TP 8 .B --yoffset \fIFLOAT\fR Adds the given offset to all Y coordinates. .br .br .B Corresponding command: .I yoffset(float) .TP 8 .B --yrange \fIPARTIAL-FLOAT-RANGE\fR Sets the range of the Y coordinates. .br .br .B Corresponding command: .I yrange(partial-float-range) .TP 8 .B --yscale \fIFLOAT\fR Multiplies the Y coordinates by this factor. .br .br .B Corresponding command: .I yscale(float) .SS Graphics primitives Tioga graphics primitives .TP 8 .B --draw \fIDRAWING-SPEC\fR Tries to emulate the old --draw behavior of ctioga. Don't use it for new things. .br .br .B Corresponding command: .I draw(drawing-spec) .TP 8 .B --draw-arrow \fIPOINT POINT\fR Directly draws arrow on the current plot .br .B Optional arguments: .I color head_color head_marker head_scale line_style line_width tail_color tail_marker tail_scale .br .B Corresponding command: .I draw-arrow(point,point,option=...) .TP 8 .B --draw-contour \fILEVEL\fR Directly draws contour on the current plot .br .B Optional arguments: .I closed color style width .br .B Corresponding command: .I draw-contour(level,option=...) .TP 8 .B --draw-line \fIPOINT POINT\fR Directly draws line on the current plot .br .B Optional arguments: .I color line_style line_width .br .B Corresponding command: .I draw-line(point,point,option=...) .TP 8 .B --draw-marker \fIPOINT MARKER\fR Directly draws marker on the current plot .br .B Optional arguments: .I alignment angle color fill_color horizontal_scale justification scale stroke_color vertical_scale .br .B Corresponding command: .I draw-marker(point,marker,option=...) .TP 8 .B --draw-string-marker \fIPOINT TEXT\fR Directly draws marker on the current plot .br .B Optional arguments: .I alignment angle color fill_color font horizontal_scale justification scale stroke_color vertical_scale .br .B Corresponding command: .I draw-string-marker(point,text,option=...) .TP 8 .B --draw-tangent \fIDATA-POINT\fR Directly draws tangent on the current plot .br .B Optional arguments: .I color head_color head_marker head_scale line_style line_width nbavg tail_color tail_marker tail_scale xextent xfrom xto yextent yfrom yto .br .B Corresponding command: .I draw-tangent(data-point,option=...) .TP 8 .B --draw-text \fIPOINT TEXT\fR Directly draws text on the current plot .br .B Optional arguments: .I alignment angle color font justification scale .br .B Corresponding command: .I draw-text(point,text,option=...) .SS The 'gnuplot' backend: Gnuplot files The commands in this group drive the behaviour of the \fIgnuplot\fR backend; see its documentation for more information .TP 8 .B --gnuplot \fI\fR Selects the '\fIgnuplot\fR' backend .br .B Optional arguments: .I range samples vars .br .B Corresponding command: .I gnuplot(,option=...) .TP 8 .B --gnuplot-range \fIRANGE\fR The plotting X range, such as 0:2 .br .br .B Corresponding command: .I gnuplot-range(range) .TP 8 .B --gnuplot-samples \fISAMPLES\fR The number of samples .br .br .B Corresponding command: .I gnuplot-samples(samples) .TP 8 .B --gnuplot-vars \fIVARS\fR A colon-separated override of local variables, such as a=1;b=3;c=5 .br .br .B Corresponding command: .I gnuplot-vars(vars) .SS The 'math' backend: Mathematical functions The commands in this group drive the behaviour of the \fImath\fR backend; see its documentation for more information .TP 8 .B --math \fI\fR Selects the '\fImath\fR' backend .br .B Optional arguments: .I log samples trange xrange .br .B Corresponding command: .I math(,option=...) .TP 8 .B --[no-]math-log \fI\fR Space samples logarithmically .br .br .B Corresponding command: .I math-log(log) .TP 8 .B --math-samples \fISAMPLES\fR The number of points .br .br .B Corresponding command: .I math-samples(samples) .TP 8 .B --math-trange \fITRANGE\fR T range (a:b) (parametric plot) .br .br .B Corresponding command: .I math-trange(trange) .TP 8 .B --math-xrange \fIXRANGE\fR X range (a:b) .br .br .B Corresponding command: .I math-xrange(xrange) .SS The 'text' backend: Text format The commands in this group drive the behaviour of the \fItext\fR backend; see its documentation for more information .TP 8 .B --text \fI\fR Selects the '\fItext\fR' backend .br .B Optional arguments: .I col header-line parameters separator skip split .br .B Corresponding command: .I text(,option=...) .TP 8 .B --text-col \fICOL\fR Which columns to use when the @1:2 syntax is not used .br .br .B Corresponding command: .I text-col(col) .TP 8 .B --text-header-line \fIHEADER-LINE\fR Regular expression indicating the header line (containing column names) (default /^##/ .br .br .B Corresponding command: .I text-header-line(header-line) .TP 8 .B --text-parameters \fIPARAMETERS\fR Regular expression for extracting parameters from a file. Defaults to nil (ie nothing) .br .br .B Corresponding command: .I text-parameters(parameters) .TP 8 .B --text-separator \fISEPARATOR\fR The columns separator. Defaults to / +/ .br .br .B Corresponding command: .I text-separator(separator) .TP 8 .B --text-skip \fISKIP\fR Number of lines to be skipped at the beginning of the file .br .br .B Corresponding command: .I text-skip(skip) .TP 8 .B --[no-]text-split \fI\fR If true, splits files into subsets on blank/non number lines .br .br .B Corresponding command: .I text-split(split) .SS LaTeX Commands providing control over the LaTeX output (preamble, packages...) .TP 8 .B --preamble \fITEXT\fR Adds the given string to the LaTeX preamble of the output. .br .br .B Corresponding command: .I preamble(text) .TP 8 .B --use \fITEXT\fR Adds a command to include the LaTeX package into the preamble. The arguments, if given, are given within [square backets]. .br .B Optional arguments: .I arguments .br .B Corresponding command: .I use(text,option=...) .TP 8 .B --utf8 \fI\fR Makes ctioga2 use UTF-8 for all text. It is exactly equivalent to the command \fIpreamble\fR with the argument: \usepackage[utf8]{inputenc}\usepackage[T1]{fontenc} .br .br .B Corresponding command: .I utf8() .SS Subplots and assimilated Subplots and assimilated .TP 8 .B --end \fI\fR Leaves the current subobject. .br .br .B Corresponding command: .I end() .TP 8 .B --frame-margins \fIFRAME-MARGINS\fR Sets the margins for the current plot. Margins are the same things as the position (such as specified for and inset). Using this within an inset or more complex plots might produce unexpected results. The main use of this function is to control the padding around simple plots. .br .br .B Corresponding command: .I frame-margins(frame-margins) .TP 8 .B --gradient \fICOLOR COLOR\fR All the curves between this command and the corresponding \fIend\fR will have their \fIcolor\fR set to a weighted average of the colors given as argument. This gives a neat gradient effect. .br .br .B Corresponding command: .I gradient(color,color) .TP 8 .B --inset \fIBOX\fR Starts a new inset within the given box. If no graph has been started yet, it just creates a new graph using the given box. In short, it does what it seems it should. .br .br .B Corresponding command: .I inset(box) .TP 8 .B --next-inset \fIBOX\fR Has the same effet as \fIend\fR followed by \fIinset\fR. Particularly useful for chaining subgraphs. In that case, you might be interested in the grid box specification and \fIsetup-grid\fR. .br .br .B Corresponding command: .I next-inset(box) .TP 8 .B --padding \fIDIMENSION\fR When the \fIframe-margins\fR is set to automatic, ctioga2 leaves that much space around the plot on the sides where there are no labels. .br .br .B Corresponding command: .I padding(dimension) .TP 8 .B --plot-scale \fIFLOAT\fR Applies a scaling factor to the whole current subplot. Depending on the 'what' option (default text), the scale applies to: .RS 10 .IP "\fB*\fR" 2 text ('text' or 'both') .IP "\fB*\fR" 2 marker size ('text' or 'both') .IP "\fB*\fR" 2 line widths ('lines' or 'both') Scaling also applies to all elements of the plot that were added before the call to plot-scale. .RE .IP "" 8 .br .B Optional arguments: .I what .br .B Corresponding command: .I plot-scale(float,option=...) .TP 8 .B --region \fI\fR The curves up to the corresponding \fIend\fR will be considered for delimiting a colored region between them. The actual position of the curves with respect to the region can be fine-tuned using the \fIregion-side\fR command (or the corresponding option to \fIplot\fR). .br .B Optional arguments: .I color reversed_color reversed_transparency transparency .br .B Corresponding command: .I region(,option=...) .TP 8 .B --setup-grid \fITEXT\fR Sets up a grid of the given layout (such as 2x1). After this command, arguments such as grid:0,1 can be used as the \fIbox\fR argument of \fIinset\fR and \fInext-inset\fR commands. Alternatively, the layout can be specified as 1,2,1x1,4, in which case there are three columns and two rows; the second column is 2 times larger than the other ones, while the second row is four times larger than the first. .br .B Optional arguments: .I bottom dx dy left right top .br .B Corresponding command: .I setup-grid(text,option=...) .TP 8 .B --zoom-inset \fIBOX\fR Zooms are currently not implemented yet. .br .br .B Corresponding command: .I zoom-inset(box) .SS Axes and labels Axes and labels .TP 8 .B --axis-style \fIAXIS\fR This command can be used to set various aspects of the style of the given axis, through its various options: .RS 10 .IP "\fB*\fR" 2 decoration .RE .IP "" 8 .br .B Optional arguments: .I decoration location stroke_color transform .br .B Corresponding command: .I axis-style(axis,option=...) .TP 8 .B --background-lines \fIAXIS COLOR-OR-FALSE\fR Sets the color of the background lines for the given axis. .br .B Optional arguments: .I style width .br .B Corresponding command: .I background-lines(axis,color-or-false,option=...) .TP 8 .B --bottom \fIAXIS-DECORATION\fR Sets the type of the bottom axis. .br .B Optional arguments: .I location stroke_color transform .br .B Corresponding command: .I bottom(axis-decoration,option=...) .TP 8 .B --label-style \fILABEL\fR Sets the style of the given label (see the type \fIlabel\fR for more information). The option text permits to also set the text of the label (does not work for ticks). For tick labels, setting the color option also sets the color for the lines of the corresponding axis. If you don't want that, you can override the color using the /stroke_color option of \fIaxis-style\fR. This will only work with Tioga version 1.11 or greater. .br .B Optional arguments: .I align angle color justification scale shift text .br .B Corresponding command: .I label-style(label,option=...) .TP 8 .B --left \fIAXIS-DECORATION\fR Sets the type of the left axis. .br .B Optional arguments: .I location stroke_color transform .br .B Corresponding command: .I left(axis-decoration,option=...) .TP 8 .B --new-zaxis \fITEXT\fR Creates a named Z axis that can display information from Z color maps .br .B Optional arguments: .I bar_shift bar_size decoration location stroke_color transform .br .B Corresponding command: .I new-zaxis(text,option=...) .TP 8 .B --no-title \fI\fR Removes the title of the current plot. .br .br .B Corresponding command: .I no-title() .TP 8 .B --no-xlabel \fI\fR Removes the X label for the current plot. .br .br .B Corresponding command: .I no-xlabel() .TP 8 .B --no-ylabel \fI\fR Removes the Y label for the current plot. .br .br .B Corresponding command: .I no-ylabel() .TP 8 .B --right \fIAXIS-DECORATION\fR Sets the type of the right axis. .br .B Optional arguments: .I location stroke_color transform .br .B Corresponding command: .I right(axis-decoration,option=...) .TP 8 .B -t, --title \fITEXT\fR Sets the title of the current plot. .br .B Optional arguments: .I align angle color justification scale shift .br .B Corresponding command: .I title(text,option=...) .TP 8 .B --top \fIAXIS-DECORATION\fR Sets the type of the top axis. .br .B Optional arguments: .I location stroke_color transform .br .B Corresponding command: .I top(axis-decoration,option=...) .TP 8 .B --x2 \fI\fR Switches to using the top axis for X axis for the subsequent curves, and turns on full decoration for the right axis. Shortcut for: xaxis(top) axis-style(top,decoration=full) .br .br .B Corresponding command: .I x2() .TP 8 .B --xaxis \fIAXIS\fR Sets the default axis for the X axis for all subsequent commands take rely on default axes (such as \fIplot\fR, \fIxrange\fR, \fIyrange\fR...). .br .br .B Corresponding command: .I xaxis(axis) .TP 8 .B -x, --xlabel \fITEXT\fR Sets the X label of the current plot. .br .B Optional arguments: .I align angle color justification scale shift .br .B Corresponding command: .I xlabel(text,option=...) .TP 8 .B --y2 \fI\fR Switches to using the right axis for Y axis for the subsequent curves, and turns on full decoration for the right axis. Shortcut for: yaxis(right) axis-style(right,decoration=full) .br .br .B Corresponding command: .I y2() .TP 8 .B --yaxis \fIAXIS\fR Sets the default axis for the Y axis for all subsequent commands take rely on default axes (such as \fIplot\fR, \fIxrange\fR, \fIyrange\fR...). .br .br .B Corresponding command: .I yaxis(axis) .TP 8 .B -y, --ylabel \fITEXT\fR Sets the Y label of the current plot. .br .B Optional arguments: .I align angle color justification scale shift .br .B Corresponding command: .I ylabel(text,option=...) .SS Background Commands dealing with the aspect of the background of a plot (excluding background lines, which are linked to axes). .TP 8 .B --background \fICOLOR-OR-FALSE\fR Sets the background color for the current (and subsequent?) plot. .br .br .B Corresponding command: .I background(color-or-false) .TP 8 .B --watermark \fITEXT\fR Watermark... .br .B Optional arguments: .I alignment angle color fill_color font horizontal_scale justification scale stroke_color vertical_scale .br .B Corresponding command: .I watermark(text,option=...) .SS Output setup Commands in this group deal with various aspects of the production of output files: .RS 2 .IP "\fB*\fR" 2 output file location .IP "\fB*\fR" 2 post-processing (including automatic display) .IP "\fB*\fR" 2 cleanup... .RE .TP 8 .B --[no-]clean \fI\fR When this is on (the default), ctioga2 automatically cleans up intermediate files produced by Tioga. When LaTeX fails, it can be useful to have a closer look at them, so disable it to be able to look into them. .br .br .B Corresponding command: .I clean(boolean) .TP 8 .B --[no-]eps \fI\fR When this feature is on, all produced PDF files are converted to EPS using the pdftops program (from the xpdf tools suite). .br .br .B Corresponding command: .I eps(boolean) .TP 8 .B --[no-]mark \fI\fR When this feature is on (which is the default, as it comes in very useful), the 'title' field of the PDF informations is set to the command-line that resulted in the PDF file. Disable it if you don't want any information to leak. Please note that this will not log the values of the CTIOGA2_PRE and CTIOGA2_POST variables, so you might still get a different output if you make heavy use of those. .br .br .B Corresponding command: .I mark(boolean) .TP 8 .B -n, --name \fIFIGURE_NAME\fR Sets the name of the figure, which is also the base name for the output file. This has nothing to do with the title of the plot, which can be set using the command \fItitle\fR. If the name contains a %, it is interpreted by ctioga2 as a printf-like format. It will attempt to find the first file that does not exist, feeding it with increasing numbers. The default value is now Plot-%03d, which means you'll get increasing numbers automatically. .br .br .B Corresponding command: .I name(figure name) .TP 8 .B --open \fI\fR Uses open (available on MacOS) to view the PDF files produced by ctioga2. .br .br .B Corresponding command: .I open() .TP 8 .B -o, --output \fIFIGURE_NAME\fR Writes a figure with the given name (see \fIname\fR) and keeps the current state. This can be used to create an animation. .br .br .B Corresponding command: .I output-now(figure name) .TP 8 .B --output-and-reset \fI\fR Writes the current figure and starts a fresh one. All non-graphical information are kept (curves loaded, figure names, preamble, and so on). .br .br .B Corresponding command: .I output-and-reset() .TP 8 .B -O, --output-directory \fITEXT\fR Sets the directory to which files will be plot. It defaults to the current directory. .br .br .B Corresponding command: .I output-directory(text) .TP 8 .B -r, --page-size \fITEXT\fR Sets the size of the output PDF file, in real units. Takes arguments in the form of 12cm x 3in (spaces can be omitted). .br .B Optional arguments: .I count-legend .br .B Corresponding command: .I page-size(text,option=...) .TP 8 .B --png \fIRESOLUTION\fR Turns all produced PDF files into PNG images of the given resolution using convert. This also has for effect to set the \fIpage-size\fR to the resolution divided by the 'scale' option in Postscript points. By default, 2 pixels are rendered for 1 final to produce a nicely antialiased image. Use the 'oversampling' option to change that, in case the output looks too pixelized. This option only affects conversion time. .br .B Optional arguments: .I oversampling scale .br .B Corresponding command: .I png(resolution,option=...) .TP 8 .B --[no-]svg \fI\fR When this feature is on, all produced PDF files are converted to SVG using the neat pdf2svg program. .br .br .B Corresponding command: .I svg(boolean) .TP 8 .B --viewer \fITEXT\fR Sets the command for viewing the PDF file after ctioga2 has been run. .br .br .B Corresponding command: .I viewer(text) .TP 8 .B -X, --xpdf \fI\fR Uses xpdf to view the PDF files produced by ctioga2. .br .br .B Corresponding command: .I xpdf() .SS Data stack manipulation Commands for manipulation of the data stack .TP 8 .B --dataset-hook \fICOMMANDS\fR The dataset hook is a series of commands such as those in the command files that are run every time after a dataset is added onto the data stack. Its main use is to provide automatic filtering of data, but any arbitrary command can be used, so enjoy ! .br .br .B Corresponding command: .I dataset-hook(commands) .TP 8 .B --dataset-hook-add \fICOMMANDS\fR Adds the given commands to the dataset hook. See \fIdataset-hook\fR for more information about the dataset hook. .br .br .B Corresponding command: .I dataset-hook-add(commands) .TP 8 .B --dataset-hook-clear \fI\fR Clears the dataset hook. See \fIdataset-hook\fR for more information. .br .br .B Corresponding command: .I dataset-hook-clear() .TP 8 .B --join-datasets \fI\fR Pops the last two (or number, if it is specified) datasets from the stack, concatenates them (older last) and push them back onto the stack. .br .B Optional arguments: .I number .br .B Corresponding command: .I join-datasets(,option=...) .TP 8 .B -L, --load \fIDATASET\fR Use the current backend to load the given dataset(s) onto the data stack. If the name option is given, the last dataset loaded this way (if dataset expansion occurs) gets named, or, if it contains a %d (or similar construct), each dataset gets named with %d replace with the number of the dataset within the expansion (starting at 0). This name can be used to further use the dataset without remembering its number. See the type \fIstored-dataset\fR for more information. .br .B Optional arguments: .I ignore_hooks name where .br .B Corresponding command: .I load(dataset,option=...) .TP 8 .B --make-contour \fIFLOAT\fR .br .B Optional arguments: .I ignore_hooks name where which .br .B Corresponding command: .I make-contour(float,option=...) .TP 8 .B --merge-datasets \fI\fR .... .br .B Optional arguments: .I number .br .B Corresponding command: .I merge-datasets(,option=...) .TP 8 .B -P, --print-dataset \fI\fR Prints to standard output data contained in the last dataset pushed onto the stack, or the given stored dataset if the which option is given. .br .B Optional arguments: .I save which .br .B Corresponding command: .I print-dataset(,option=...) .TP 8 .B --xy-reglin \fI\fR .... .br .B Optional arguments: .I linear which .br .B Corresponding command: .I xy-reglin(,option=...) .SS Introspection Commands displaying information about the internals of ctioga2, such as known types/commands/backends... .TP 8 .B --edit-command \fITEXT\fR Edit the given command in an editor. It will only work from the top directory of a ctioga2 source tree. .br .br .B Corresponding command: .I edit-command(text) .TP 8 .B --edit-group \fITEXT\fR Edit the given group in an editor. It will only work from the top directory of a ctioga2 source tree. .br .br .B Corresponding command: .I edit-group(text) .TP 8 .B --edit-type \fITEXT\fR Edit the given type in an editor. It will only work from the top directory of a ctioga2 source tree. .br .br .B Corresponding command: .I edit-type(text) .TP 8 .B --list-commands \fI\fR List all commands known to ctioga2 .br .B Optional arguments: .I format raw .br .B Corresponding command: .I list-commands(,option=...) .TP 8 .B --list-groups \fI\fR List all command groups known to ctioga2 .br .B Optional arguments: .I raw .br .B Corresponding command: .I list-groups(,option=...) .TP 8 .B --list-types \fI\fR List all types known to ctioga2 .br .B Optional arguments: .I raw .br .B Corresponding command: .I list-types(,option=...) .TP 8 .B --version-raw \fI\fR Prints the raw version number, without any other decoration and newline. .br .br .B Corresponding command: .I version-raw() .SS Filters The commands in this group act upon the last dataset pushed unto the data stack: they can be viewed as filters. .TP 8 .B --avg-dup \fI\fR Install the \fIavg-dup-last\fR command as a dataset hook (see \fIdataset-hook\fR): all datasets acquired after this is on will be averaged if they have identical successive values of X. .br .br .B Corresponding command: .I avg-dup() .TP 8 .B --avg-dup-last \fI\fR Averages successive points with identical X values. This algorithm is naive with respect to the min/max values and averages them just as well, whereas one might expect something more clever. To average over identical X values when they are not successive in the dataset, you might want to hand it over to \fIsort-last\fR first. .br .br .B Corresponding command: .I avg-dup-last() .TP 8 .B --cherry-pick \fITEXT\fR Install the \fIcherry-pick-last\fR command as a dataset hook (see \fIdataset-hook\fR): all points for which the formula returns false for subsequent datasets will be removed. .br .br .B Corresponding command: .I cherry-pick(text) .TP 8 .B --cherry-pick-last \fITEXT\fR Removes the data from the last dataset in the data stack for which the formula returns false. See also the \fIcherry-pick\fR command to apply the selection to all datasets. You might find it much easier to use the /where option of the \fIplot\fR or \fIload\fR commands. .br .br .B Corresponding command: .I cherry-pick-last(text) .TP 8 .B --smooth-last \fIINTEGER\fR Smooth the data using a simple (naive even) gaussian filter. Good for producing 'lines to guide the eye' .br .br .B Corresponding command: .I smooth-last(integer) .TP 8 .B --sort \fI\fR Install the \fIsort-last\fR command as a dataset hook (see \fIdataset-hook\fR): all subsequent datasets will be sorted according to their X values. .br .br .B Corresponding command: .I sort() .TP 8 .B --sort-last \fI\fR Sorts the last dataset pushed unto the stack according to X values. Can be used as a filter. See also \fIsort\fR. .br .br .B Corresponding command: .I sort-last() .TP 8 .B --trim \fIINTEGER\fR Install the \fItrim-last\fR command as a dataset hook (see \fIdataset-hook\fR): all subsequent datasets will be trimmed to keep only every n point. .br .br .B Corresponding command: .I trim(integer) .TP 8 .B --trim-last \fIINTEGER\fR Only keeps one every ? data point on the last dataset pushed unto the data stack. Useful when data have too many points to avoid creating heavy PDF files that take ages to display with no additional benefits. This operation is very crude and does not average data. See also \fItrim\fR. .br .br .B Corresponding command: .I trim-last(integer) .SS General commands General scope commands .TP 8 .B --debug \fI\fR With this on, ctioga2 writes a whole lot of debugging information. You probably will not need that unless you intend to file a bug report or to tackle a problem yourself. .br .br .B Corresponding command: .I debug() .TP 8 .B --echo \fI\fR Writes the whole command-line used to standard error, quoted in such a way that it should be usable directly for copy/paste. .br .br .B Corresponding command: .I echo() .TP 8 .B -e, --eval \fICOMMANDS\fR Runs the given strings as commands, as if given from a command file. .br .br .B Corresponding command: .I eval(commands) .TP 8 .B -f, --file \fIFILE\fR Reads the file and runs commands found in them, using the ctioga language. ctioga2 -f my_file.ct2 .br .br .B Corresponding command: .I include(file) .TP 8 .B -h, --help \fI\fR Prints helps about short and long options available when run from the command-line. .br .B Optional arguments: .I pager .br .B Corresponding command: .I command-line-help(,option=...) .TP 8 .B -v, --verbose \fI\fR With this on, ctioga2 outputs quite a fair amount of informative messages. .br .br .B Corresponding command: .I verbose() .TP 8 .B -V, --version \fI\fR Prints the version of ctioga in use .br .br .B Corresponding command: .I version() .SH TYPES Most of the commands accept one or more arguments, which have different types. Here are the meanings of those types. .TP 8 .I aligned-point A point together with alignment specifications. .TP .I alignment Vertical aligment for text. Can be one of: .RS 10 .IP "\fB*\fR" 2 t or top .IP "\fB*\fR" 2 c, center, m or midheight (vertically centered) .IP "\fB*\fR" 2 B, Baseline or baseline to align at the baseline .IP "\fB*\fR" 2 b or bottom .RE .IP "" 8 .TP .I axis The name of the axis of a plot. It can be: .RS 10 .IP "\fB*\fR" 2 left, top, bottom or right; .IP "\fB*\fR" 2 x, xaxis, y, yaxis, which return one of the above depending on the preferences of the current plot (see \fIxaxis\fR and \fIyaxis\fR to change them); .IP "\fB*\fR" 2 one of the named axes, such as the ones created by \fInew-zaxis\fR. .RE .IP "" 8 .TP .I axis-decoration Kinds of decoration on a axis line, such as nothing, lines, ticks, tick labels. Possible values: .RS 10 .IP "\fB*\fR" 2 hidden or off: no axis at all .IP "\fB*\fR" 2 line: only a line .IP "\fB*\fR" 2 ticks: only ticks .IP "\fB*\fR" 2 major: only major ticks .IP "\fB*\fR" 2 major-num: major ticks along with their labels .IP "\fB*\fR" 2 full: major ticks and labels + minor ticks .RE .IP "" 8 .TP .I axis-or-auto Same thing as \fIaxis\fR, or auto to let the style factory handle automatically. .TP .I bijection A pair of functions of x specifying a bidirectional coordinate transformation separated by a double colon (::), in the order from::to. Each of the functions must be valid Ruby code - it is not exactly mathematical functions, in particular Ruby does not like floats which are missing digits on either side of the dot : for instance, .3 and 1. are not valid. Sorry. In most of the usual cases, the coordinate transform is an involution, that is from and to is the same function (this is the case for a/x). In this case, you can omit the second function. .TP .I boolean Yes or no. .TP .I boolean-or-auto Same thing as \fIboolean\fR, or auto to let the style factory handle automatically. .TP .I box The specification for a box, such as an inset. Specifications vary for now... @todo to be written later on. .TP .I color A color. It can take three forms: .RS 10 .IP "\fB*\fR" 2 a named color, see \fIhttp://tioga.rubyforge.org/doc/classes/Tioga/ColorConstants.html\fR for the list of color names. .IP "\fB*\fR" 2 an HTML color: for instance, #f00 or #ff0000 is red; .IP "\fB*\fR" 2 a list of three numbers between 0 and 1: 1,0,0 is red too. .RE .IP "" 8 .TP .I color-or-auto Same thing as \fIcolor\fR, or auto to let the style factory handle automatically. .TP .I color-or-false A \fIcolor\fR, or false to say that nothing should be drawn. .TP .I color-set Sets of \fIcolor\fR .TP .I colormap A Z color map odo document ! .TP .I colormap-or-auto Same thing as \fIcolormap\fR, or auto to let the style factory handle automatically. .TP .I commands ctioga2 commands, such as the ones that could be found in command files. .TP .I data-point A point from a Dataset. odo document ;-)... .TP .I dataset One expandable dataset. .TP .I dimension A dimension, in absolute units, or in units of text height, figure, frame or page coordinates. It is in the form value unit where value is a number and unit can be one of pt, bp, in, cm (absolute units, same meaning as in TeX), dy (1.0 dy is the height of a text line), figure or f (for figure coordinates, i.e. the coordinates of the plot), frame or F (1.0 frame is the full size of the current subplot) and page or p (1.0 page is the whole height/width of the output file). .TP .I drawing-spec A ctioga 1 --draw specification. .TP .I file A file name. .TP .I fill-until The Y values until which a filled curve will be filled. Generally a number, but it can also be: .RS 10 .IP "\fB*\fR" 2 axis (or xaxis), which means 0 .IP "\fB*\fR" 2 bottom, to fill until the bottom of the graph .IP "\fB*\fR" 2 top, to fill until the top .IP "\fB*\fR" 2 none, meaning no fill .RE .IP "" 8 .TP .I fill-until-or-auto Same thing as \fIfill-until\fR, or auto to let the style factory handle automatically. .TP .I fill-until-set Sets of \fIfill-until\fR .TP .I float A floating-point number. .TP .I float-or-auto Same thing as \fIfloat\fR, or auto to let the style factory handle automatically. .TP .I float-range A beginning:end range. .TP .I float-set Sets of \fIfloat\fR .TP .I frame-margins Margins around a plot, ie the distance from the side of the plot to the corresponding side of the container (most likely the whole PDF). It can take three forms: .RS 10 .IP "\fB*\fR" 2 dimension (applies to all sides) .IP "\fB*\fR" 2 left_right, top_bottom .IP "\fB*\fR" 2 left, right, top, bottom .RE .IP "" 8 Each of these elements is a valid \fIdimension\fR. It can also be auto, in which case the position of the margins is computed automatically to accomodate the various labels/ticks. .TP .I integer An integer. .TP .I internal-format Output format for internals. .TP .I justification Horizontal aligment for text. Can be one of: .RS 10 .IP "\fB*\fR" 2 l or left .IP "\fB*\fR" 2 c, center .IP "\fB*\fR" 2 r, right .RE .IP "" 8 .TP .I label The name of an label. It can be: .RS 10 .IP "\fB*\fR" 2 title to mean the current plot's title. .IP "\fB*\fR" 2 axis_tick or axis_ticks or simply axis, where axis is a a valid \fIaxis\fR. It designates the ticks of the named axis. .IP "\fB*\fR" 2 axis_label, same as above but targets the label of the named axis. .RE .IP "" 8 .TP .I latex-font A LaTeX font. odo document ! .TP .I level A level on a XYZ map (that is, just a Z value). .TP .I line-style A line style, or no, none or off to mean no line. .TP .I line-style-or-auto Same thing as \fIline-style\fR, or auto to let the style factory handle automatically. .TP .I line-style-set Sets of \fIline-style\fR .TP .I location A position on the plot, referenced with respect to the sides. Can be: .RS 10 .IP "\fB*\fR" 2 left .IP "\fB*\fR" 2 right .IP "\fB*\fR" 2 top .IP "\fB*\fR" 2 bottom .RE .IP "" 8 In addition, there will one day be the possibility to specify an offset from these locations. But that is still something to do. .TP .I marker A Tioga Marker. .TP .I marker-or-auto Same thing as \fImarker\fR, or auto to let the style factory handle automatically. .TP .I marker-set Sets of \fImarker\fR .TP .I partial-float-range A beginning:end range, where either of the endpoints can be ommitted. .TP .I pdf-font A number between 1 and 14 that designates one of the 14 standard PDF fonts. (see for instance \fIhttp://tioga.rubyforge.org/doc/classes/Tioga/MarkerConstants.html\fR for more information). .TP .I point A given point on a figure. .TP .I regexp A plain string or a regular expression (the latter being enclosed within /.../). .TP .I region-side Within a \fIregion\fR, designates the position of the curve with respect to the region: .RS 10 .IP "\fB*\fR" 2 above .IP "\fB*\fR" 2 below .IP "\fB*\fR" 2 ignore if this curve is not to be taken into account .RE .IP "" 8 .TP .I region-side-or-auto Same thing as \fIregion-side\fR, or auto to let the style factory handle automatically. .TP .I region-side-set Sets of \fIregion-side\fR .TP .I stored-dataset A dataset that has already been loaded. It is either: .RS 10 .IP "\fB*\fR" 2 A number, in which case it specifies the index inside the stack. 0 is the first on that was pushed onto the stack (the oldest dataset), 1 the second, -1 the last one, -2 the one before the last and so on. (it works just like Ruby's arrays). .IP "\fB*\fR" 2 The name of a named dataset. .RE .IP "" 8 .TP .I text Plain text. .TP .I text-or-auto Same thing as \fItext\fR, or auto to let the style factory handle automatically. .TP .I text-set Sets of \fItext\fR .SH ENVIRONMENT VARIABLES If the environment variables .B CTIOGA2_PRE or .B CTIOGA2_POST are set, they are split into words according to shell rules (see the Shellwords.shellwords ruby function for more information) and prepended or appended to the command-line arguments. They don't leave any trace in the actual command-line (so, for instance, .B --echo won't be aware of them). .SH AUTHOR .B ctioga2 was written by Vincent Fourmond. .B Tioga was written by Bill Paxton. .SH BUGS .B ctioga2 is most certainly not bug-free. You can use the facility at .B rubyforge.org to report any bug you notice: .IR http://rubyforge.org/tracker/?group_id=8218 . You can also use the same facility for feature requests and to provide use with patches. Alternatively, you can use the forums at .I http://rubyforge.org/forum/?group_id=8218 or the .I ctioga2-users@rubyforge.org mailing list to report any kind of problems or suggestions. .SH "SEE ALSO" .BR xpdf (1), .BR pdflatex (1), .BR open (1), .BR gnuplot (1), .BR ctioga "(1) (the original ctioga)" The original tarball includes an .I examples/ with various examples demonstrating different features of .B ctioga2\fR, and in particular the different ways to use it: command-line or command-file. It also includes a .I tests/ directory containing test shell scripts. Runnning these shell scripts should give you a decent idea of .BR ctioga2 's possibilities while assuring that it did install properly. Useful information, documentation and most up-to-date news can be found at .BR ctioga2 's website, at .IR http://ctioga2.rubyforge.org/ . More information about .B Tioga and its rdoc documentation can be found at .IR http://www.kitp.ucsb.edu/~paxton/tioga.html .