MultiPlot allows for fast plotting two - dimensional graphs. 
You simply add a points with their coordinates (x,y) and optionally 
their colors (r,g,b) and MULTIPLOT does the rest for you. It scales 
automatically such that the whole graph fits to the window. It is 
based on www.FLTK.org for platform independent window-creation 
(and so should compile on win32, mac and linu[ni]x ) and 
www.opengl.org for fast drawing of lines. 

example code on how to use multiplot: 

void main()
{
	MULTIPLOT m(10,10,300,300);	// create a multiplot Window in position 10,10 and with
					// width=300 and height=300

	m.set_scrolling(200);		// enable scrolling of the graph with 200 points to plot 

	int x=0;
	while(1)
	{
		// add a point to the graph. (this draws a spiral)
		m.add(0,PLOT_POINT(0.1*x*cos(x/5.0), 0.1*x*sin(x/5.0)));
		m.redraw();
		x++;
		
		// process events so the window gets redrawn and wait a little		
		Fl::check();	
		wait(10);
	}
}

