golib
0.5
|
These are the functions and classes related to plotting with gnuplot. You will generally want to use only. More...
Classes | |
class | goSinglePlot |
Single plot class used for goMultiPlotter. More... | |
class | goMultiPlotter |
Plotting multiple plots in one window (or on one page). More... | |
class | goPlot::Gnuplot |
Convenience interface to goMultiPlotter and goSinglePlot. More... | |
Enumerations | |
enum | PlotType { Normal, Surface } |
Functions | |
template<class T > | |
void | goPlot::plot (const goMath::Vector< T > &x, const goMath::Vector< T > &y, const char *title=0, const char *plotOptions=0, const char *prefix=0) |
Convenience function for quickly plotting something. More... | |
template<class T > | |
void | goPlot::plot (const goMath::Vector< T > &y, const char *title=0, const char *plotOptions=0, const char *prefix=0) |
template<class T > | |
void | goPlot::plot (const goMath::Matrix< T > &points, const char *title=0, const char *plotOptions=0, const char *prefix=0) |
Convenience function for quickly plotting something. More... | |
template<class T > | |
void | goPlot::plot3D (const goMath::Matrix< T > &M, const char *title, const char *plotOptions=0, const char *prefix=0, bool separateRows=false) |
template<class arrayT > | |
bool | goPlot::gnuplot (const arrayT &array, const char *title=0, const char *gnuplotCommands=0, const char *prefixCommands=0, const char *shellPostfix=0, goString *cmdFileNameRet=0, goString *dataFileNameRet=0, bool waitfor=false) |
Plots 1D data using gnuplot. More... | |
template<class arrayT , class arrayT2 > | |
bool | goPlot::gnuplot (const arrayT &array, const arrayT2 &array2, const char *title=0, const char *gnuplotCommands=0, const char *prefixCommands=0, const char *shellPostfix=0, goString *cmdFileNameRet=0, goString *dataFileNameRet=0, bool waitfor=false) |
template<class arrayT > | |
bool | goPlot::gnuplotList (const goList< arrayT > *arrayListX, const goList< arrayT > *arrayListY=0, goList< goString > *title=0, goList< goString > *plotCommands=0, const char *prefixCommands=0, const char *postfixCommands=0, const char *shellPostfix=0, goString *cmdFileNameRet=0, goList< goString > *dataFileNameRet=0, bool waitfor=true) |
bool | goPlot::callGnuplot (const goString &gnuplotCommands, const char *shellPostfix, bool waitfor, goString *cmdFilenameRet, int redirectInputFD=-1, int redirectOutputFD=-1) |
bool | goPlot::addGnuplotCommands (goString &gnuplotCommands, const goList< goString > *dataFileNames, const goList< goString > *titles, const goList< goString > *plotCommands, const char *prefixCommands, const char *postfixCommands, goPlot::PlotType plotType=goPlot::Normal) |
template<class arrayT > | |
bool | goPlot::writeGnuplotDataFiles (const goList< arrayT > *arrayListX, const goList< arrayT > *arrayListY, goList< goString > &dataFileNameRet) |
template<class arrayT > | |
bool | goPlot::writeGnuplotDataFiles (const goList< arrayT > *arrayListX, const goList< arrayT > *arrayListY, const goList< arrayT > *arrayListZ, goIndex_t lineLength, goList< goString > &dataFileNameRet) |
template<class T > | |
bool | goPlot::writeGnuplotDataFiles (const goList< goMath::Matrix< T > > *matrix, goList< goString > &dataFileNameRet) |
template<class T > | |
bool | goPlot::writeGnuplotDataFilesBinary (const goList< goMath::Matrix< T > > *matrix, goList< goString > &dataFileNameRet) |
bool | goPlot::writeGnuplotDataFiles (const goList< const goSignal3DBase< void > * > *images, goList< goString > &dataFileNameRet) |
These are the functions and classes related to plotting with gnuplot. You will generally want to use only.
bool goPlot::gnuplot | ( | const arrayT & | array, |
const char * | title = 0 , |
||
const char * | gnuplotCommands = 0 , |
||
const char * | prefixCommands = 0 , |
||
const char * | shellPostfix = 0 , |
||
goString * | cmdFileNameRet = 0 , |
||
goString * | dataFileNameRet = 0 , |
||
bool | waitfor = false |
||
) |
Plots 1D data using gnuplot.
Before calling the plot command, <prefixCommands> are executed in gnuplot and then plot <filename> <gnuplotCommands>. If a shell postfix is given, gnuplot is called in a shell like gnuplot <shellPostfix>. You can e.g. use this to redirect output for postscript terminal type. The calling process can either wait for gnuplot to finish or call it the non-blocking way; this is selected with the waitFor parameter.
This function is currently implemented for goArray and goFixedArray template classes with goFloat and goDouble template parameters.
array | Array, currently goArray<> and goFixedArray<> of types goFloat and goDouble are supported. |
title | Title of the plot. |
gnuplotCommands | Commands that come with the plot command, like this: plot <filename> <gnuplotCommands>. You could for example put "with dots" or similar here. If left null, "with lines" is assumed. |
prefixCommands | Gnuplot commands that go before the plot command. You can for example put commands to select the terminal type here. |
shellPostfix | If this is not null, gnuplot is called in a shell (/bin/sh) and this string is put after the gnuplot command string. Use this e.g. for "> my_file.ps" if you use postscript terminal. |
cmdFileNameRet | If not null, the command file name used by gnuplot (a temporary file) is stored here after the call. |
dataFileNameRet | If not null, the data file name used by gnuplot (a temporary file) is stored here after the call. |
waitfor | If true, the calling process blocks until gnuplot has finished. If false, the calling process does not block. |
void goPlot::plot | ( | const goMath::Matrix< T > & | points, |
const char * | title = 0 , |
||
const char * | plotOptions = 0 , |
||
const char * | prefix = 0 |
||
) |
Convenience function for quickly plotting something.
For quick one-line plotting commands. Creates a goMultiPlotter and goSinglePlot, adds the given curve with options and prefix commands, sets the pause flag in goMultiPlotter to true (so that each plot waits for a key press) and calls plot().
points | N x 2 point configuration matrix of the curve. |
title | Title (of the curve). |
plotOptions | Options for gnuplot (like "with lines") |
prefix | Prefix commands for gnuplot (like "set ..." commands) |
void goPlot::plot | ( | const goMath::Vector< T > & | x, |
const goMath::Vector< T > & | y, | ||
const char * | title = 0 , |
||
const char * | plotOptions = 0 , |
||
const char * | prefix = 0 |
||
) |
Convenience function for quickly plotting something.
For quick one-line plotting commands. Creates a goMultiPlotter and goSinglePlot, adds the given curve with options and prefix commands, sets the pause flag in goMultiPlotter to true (so that each plot waits for a key press) and calls plot().
x | X coordinates. |
y | Y coordinates. |
title | Title (of the curve). |
plotOptions | Options for gnuplot (like "with lines") |
prefix | Prefix commands for gnuplot (like "set ..." commands) |