This is a tool for adding graphs to your programs.
Most programs should use graphf through its "simple" interface in graphf.h. More advanced GTK+ user-interfaces may choose to embed the Graphf widgets directly.
The simplified interfaces runs the GUI from a separate process: data is piped in from the functions. This has several advantages:
Stability. The graphf backend will stay alive after your program terminates or crashes.
Modularity.
Responsiveness.
On the other hand, if you are already writing a GTK+ 2.0 application, you may find it convenient to embed Graphf widgets inside your application. This is done using the graphf-gtk library.
The canonical 2-D plot is a scatterplot where position along the x axis denotes one quantity and the y axis another, and you have a set of (x,y) points.
unsigned i; Graphf2DPoint points[1000]; for (i = 0; i < 1000; i++) { points[i].x = (double)rand () / RAND_MAX; points[i].y = (double)rand () / RAND_MAX; } graphf_2d_plot_1 ("random/scatter/simple", 1000, points, GRAPHF_OPTION_2D_DATASET_CONNECT, 0, GRAPHF_OPTION_2D_DATASET_MARKER, GRAPHF_2D_MARKER_CROSSHAIR, 0);will produce a graph like