PLplot is a cross-platform library of functions that are useful for making scientific plots with UTF-8 symbols and text. PLplot can be used from within compiled languages such as Ada, C, C++, D, Fortran, Java, and OCaml, and interactively from interpreted languages such as Lua, Octave, Perl, Python, and Tcl.
The PLplot library can be used to create standard x-y plots, semilog plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. Multiple graphs (of the same or different sizes) may be placed on a single page with multiple lines in each graph.
A variety of file device formats such as JPEG, PDF, PNG, SVG, and others, as well as interactive device platforms such GTK+, Qt, Tk, and X are supported.