Go to the source code of this file.
Data Structures | |
struct | _GNUPLOT_CTRL_ |
Typedefs | |
typedef _GNUPLOT_CTRL_ | gnuplot_ctrl |
gnuplot session handle (opaque type). | |
Functions | |
char * | gnuplot_get_program_path (char *pname) |
Find out where a command lives in your PATH. | |
gnuplot_ctrl * | gnuplot_init (void) |
Opens up a gnuplot session, ready to receive commands. | |
void | gnuplot_close (gnuplot_ctrl *handle) |
Closes a gnuplot session previously opened by gnuplot_init(). | |
void | gnuplot_cmd (gnuplot_ctrl *handle, char *cmd,...) |
Sends a command to an active gnuplot session. | |
void | gnuplot_setstyle (gnuplot_ctrl *h, char *plot_style) |
Change the plotting style of a gnuplot session. | |
void | gnuplot_set_xlabel (gnuplot_ctrl *h, char *label) |
Sets the x label of a gnuplot session. | |
void | gnuplot_set_ylabel (gnuplot_ctrl *h, char *label) |
Sets the y label of a gnuplot session. | |
void | gnuplot_resetplot (gnuplot_ctrl *h) |
Resets a gnuplot session (next plot will erase previous ones). | |
void | gnuplot_plot_x (gnuplot_ctrl *handle, double *d, int n, char *title) |
Plots a 2d graph from a list of doubles. | |
void | gnuplot_plot_xy (gnuplot_ctrl *handle, double *x, double *y, int n, char *title) |
Plot a 2d graph from a list of points. | |
void | gnuplot_plot_once (char *title, char *style, char *label_x, char *label_y, double *x, double *y, int n) |
Open a new session, plot a signal, close the session. | |
void | gnuplot_plot_slope (gnuplot_ctrl *handle, double a, double b, char *title) |
Plot a slope on a gnuplot session. | |
void | gnuplot_plot_equation (gnuplot_ctrl *h, char *equation, char *title) |
Plot a curve of given equation y=f(x). |
gnuplot is a freely available, command-driven graphical display tool for Unix. It compiles and works quite well on a number of Unix flavours as well as other operating systems. The following module enables sending display requests to gnuplot through simple C calls.
Definition in file gnuplot_i.h.
|
gnuplot session handle (opaque type).
This structure holds all necessary information to talk to a gnuplot session. It is built and returned by gnuplot_init() and later used by all functions in this module to communicate with the session, then meant to be closed by gnuplot_close(). This structure is meant to remain opaque, you normally do not need to know what is contained in there. |
|
Closes a gnuplot session previously opened by gnuplot_init().
Definition at line 188 of file gnuplot_i.c. References _GNUPLOT_CTRL_::gnucmd, _GNUPLOT_CTRL_::ntmp, and _GNUPLOT_CTRL_::to_delete. Referenced by gnuplot_plot_once(). |
|
Sends a command to an active gnuplot session.
Examples:
gnuplot_cmd(g, "plot %d*x", 23.0); gnuplot_cmd(g, "plot %g * cos(%g * x)", 32.0, -3.0); Since the communication to the gnuplot process is run through a standard Unix pipe, it is only unidirectional. This means that it is not possible for this interface to query an error status back from gnuplot. Definition at line 231 of file gnuplot_i.c. References _GNUPLOT_CTRL_::gnucmd. Referenced by gnuplot_plot_equation(), gnuplot_plot_slope(), gnuplot_plot_x(), gnuplot_plot_xy(), gnuplot_set_xlabel(), and gnuplot_set_ylabel(). |
|
Find out where a command lives in your PATH.
The input character string must be the name of a command without prefixing path of any kind, i.e. only the command name. The returned string is the path in which a command matching the same name was found. Examples (assuming there is a prog named 'hello' in the cwd):
gnuplot_get_program_path("hello") returns "." gnuplot_get_program_path("ls") returns "/bin" gnuplot_get_program_path("csh") returns "/usr/bin" gnuplot_get_program_path("/bin/ls") returns NULL Definition at line 84 of file gnuplot_i.c. Referenced by gnuplot_init(). |
|
Opens up a gnuplot session, ready to receive commands.
The session must be closed using gnuplot_close(). Definition at line 145 of file gnuplot_i.c. References _GNUPLOT_CTRL_::gnucmd, gnuplot_get_program_path(), gnuplot_setstyle(), _GNUPLOT_CTRL_::nplots, and _GNUPLOT_CTRL_::ntmp. Referenced by gnuplot_plot_once(). |
|
Plot a curve of given equation y=f(x).
Example:
gnuplot_ctrl *h ; char eq[80] ; h = gnuplot_init() ; strcpy(eq, "sin(x) * cos(2*x)") ; gnuplot_plot_equation(h, eq, "sine wave", normal) ; gnuplot_close(h) ; Definition at line 693 of file gnuplot_i.c. References gnuplot_cmd(), _GNUPLOT_CTRL_::nplots, and _GNUPLOT_CTRL_::pstyle. |
|
Open a new session, plot a signal, close the session.
Definition at line 568 of file gnuplot_i.c. References gnuplot_close(), gnuplot_init(), gnuplot_plot_x(), gnuplot_plot_xy(), gnuplot_set_xlabel(), gnuplot_set_ylabel(), and gnuplot_setstyle(). |
|
Plot a slope on a gnuplot session.
Example:
gnuplot_ctrl * h ; double a, b ; h = gnuplot_init() ; gnuplot_plot_slope(h, 1.0, 0.0, "unity slope") ; sleep(2) ; gnuplot_close(h) ; Definition at line 639 of file gnuplot_i.c. References gnuplot_cmd(), _GNUPLOT_CTRL_::nplots, and _GNUPLOT_CTRL_::pstyle. |
|
Plots a 2d graph from a list of doubles.
Example:
gnuplot_ctrl *h ; double d[50] ; int i ; h = gnuplot_init() ; for (i=0 ; i<50 ; i++) { d[i] = (double)(i*i) ; } gnuplot_plot_x(h, d, 50, "parabola") ; sleep(2) ; gnuplot_close(h) ; Definition at line 389 of file gnuplot_i.c. References gnuplot_cmd(), _GNUPLOT_CTRL_::nplots, _GNUPLOT_CTRL_::ntmp, _GNUPLOT_CTRL_::pstyle, and _GNUPLOT_CTRL_::to_delete. Referenced by gnuplot_plot_once(). |
|
Plot a 2d graph from a list of points.
gnuplot_ctrl *h ; double x[50] ; double y[50] ; int i ; h = gnuplot_init() ; for (i=0 ; i<50 ; i++) { x[i] = (double)(i)/10.0 ; y[i] = x[i] * x[i] ; } gnuplot_plot_xy(h, x, y, 50, "parabola") ; sleep(2) ; gnuplot_close(h) ; Definition at line 484 of file gnuplot_i.c. References gnuplot_cmd(), _GNUPLOT_CTRL_::nplots, _GNUPLOT_CTRL_::ntmp, _GNUPLOT_CTRL_::pstyle, and _GNUPLOT_CTRL_::to_delete. Referenced by gnuplot_plot_once(). |
|
Resets a gnuplot session (next plot will erase previous ones).
Definition at line 343 of file gnuplot_i.c. References _GNUPLOT_CTRL_::nplots, _GNUPLOT_CTRL_::ntmp, and _GNUPLOT_CTRL_::to_delete. |
|
Sets the x label of a gnuplot session.
Definition at line 301 of file gnuplot_i.c. References gnuplot_cmd(). Referenced by gnuplot_plot_once(). |
|
Sets the y label of a gnuplot session.
Definition at line 322 of file gnuplot_i.c. References gnuplot_cmd(). Referenced by gnuplot_plot_once(). |
|
Change the plotting style of a gnuplot session.
Definition at line 270 of file gnuplot_i.c. References _GNUPLOT_CTRL_::pstyle. Referenced by gnuplot_init(), and gnuplot_plot_once(). |