Introduction
The tremendous utility and flexibility of gnuplot is due in large part to its essential nature as a command-line program. This allows it to be controlled by scripts or with text sent through a pipe or socket, which opens up an unlimited horizon of interoperability. gnuplot can be used from within any programming language, using either a custom interface or through the general method of writing to a socket. Indeed, it is the flexibility of a textual interface that is largely responsible for the enduring popularity of gnuplot among programmers, scientists, and other demanding technical users.
However, there are milieus for which it can be an advantage or a requirement to wed the superior technical graphing abilities of gnuplot with a graphical user interface or GUI. Some of these situations might include using gnuplot as a back end for an interactive web page that produces graphs in response to user input. We might also want to make gnuplot output available to people who use it...