Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
C CMake C++ Tcl Ada PHP Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
INTRODUCTION PLplot <http://plplot.sourceforge.net/> is a cross-platform (see PLATFORMS below) software package for creating scientific plots whose (UTF-8 <http://www.utf-8.com/>) plot symbols and text are limited in practice only by what Unicode<"http://www.unicode.org/>-aware system fonts are installed on a user's computer. The PLplot software, which is primarily licensed under the LGPL <http://www.gnu.org/licenses/lgpl.html>, has a clean architecture that is organized as a core C library, separate language bindings for that library (see BINDINGS below), and separate dynamically loaded device drivers (see DEVICE DRIVERS below) which control how the plots are presented in noninteractive and interactive plotting contexts. The PLplot core library can be used to create standard x-y plots, semi-log 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, and multiple pages are allowed for those device formats that support them. PLplot has core library support for plot symbols and text specified by the user in the UTF-8 encoding of Unicode. This means for our many Unicode-aware devices that plot symbols and text are only limited by the collection of glyphs normally available via installed system fonts. Furthermore, a large subset of our Unicode-aware devices also support complex text layout (CTL) languages such as Arabic, Hebrew, and Indic and Indic-derived CTL scripts such as Devanagari, Thai, Lao, and Tibetan. Thus, for these PLplot devices essentially any language that is supported by Unicode and installed system fonts can be used to label plots. PLATFORMS PLplot is currently known to work on the following platforms: Linux, Mac OS X, and other Unices MSVC IDE on the Microsoft version of Windows (Windows 2000 and later) Cygwin on the Microsoft version of Windows MinGW/MSYS on the Microsoft version of Windows MinGW/MSYS on the Wine version of Windows For each of the above platforms, PLplot can be built from source (see SOURCE CODE below), and for the Linux and Mac OS X platforms third-party binary packages for PLplot (see BINARY PACKAGES below) are available. BINDINGS PLplot bindings exist for the following compiled and interpreted languages: Ada C/C++/D Fortran 95 Java Lisp Lua OCaml Octave Perl Python Tcl/Tk The above list of bindings all are part of the PLplot software package with the exception of the Lisp <http://common-lisp.net/project/cl-plplot/> and Perl <http://search.cpan.org/~dhunt/PDL-Graphics-PLplot/> bindings which are independent projects. The Java, Lua, Octave, and Python bindings are all generated by SWIG <http://www.swig.org/>, and a straightforward expansion of this effort could be used to generate additional bindings for PLplot using the many computer languages <http://www.swig.org/compat.html#SupportedLanguages> that are supported by SWIG. DEVICE DRIVERS The PLplot device drivers are typically built as shared objects that can be dynamically loaded by our core library. It is straightforward to add noninteractive or interactive device drivers to PLplot by writing a small number of device-dependent routines. Existing noninteractive PLplot device drivers support the following file formats: CGM GIF JPEG LaTeX PBM PDF PNG PostScript SVG Xfig Existing interactive PLplot device drivers are available for the following platforms: Gtk+ PyQt Qt Tcl/Tk wxWidgets X SOURCE CODE All our Windows users and many of our Unix users build PLplot from source code using our build system that is implemented with CMake <http://cmake.org> following the directions in our wiki <https://sourceforge.net/p/plplot/wiki>. PLplot source code can be accessed a number of ways. You can obtain the latest stable version of PLplot from <http://sourceforge.net/projects/plplot/files/plplot/>. Alternatively, you can obtain the cutting-edge version of PLplot source code (but with no promises about stability) using the command git clone git://git.code.sf.net/p/plplot/plplot plplot.git and you can browse our git repository at <http://sourceforge.net/p/plplot/plplot/ci/master/tree/>. BINARY PACKAGES A number of third-party binary packages for PLplot are available. Binary packages for Linux are provided by at least Ubuntu <http://packages.ubuntu.com/search?keywords=plplot&searchon=names&suite=all§ion=all>, Debian <https://packages.debian.org/search?searchon=sourcenames&keywords=plplot>, Fedora <https://apps.fedoraproject.org/packages/plplot>, and openSUSE <http://software.opensuse.org/package/plplot>. Binary packages for Mac OS X are provided by at least Fink <http://www.finkproject.org/pdb/browse.php?summary=plplot>, Homebrew <https://github.com/Homebrew/homebrew/blob/master/Library/Formula/plplot.rb>, and MacPorts <https://www.macports.org/ports.php?by=name&substr=plplot>. To our knowledge no binary packages for PLplot are currently available for Windows platforms so our Windows users must build PLplot from source (see SOURCE CODE above). OTHER WEB RESOURCES The most up-to-date information about PLplot can be found at our principal website <http://plplot.sourceforge.net/>. There you will find the following important PLplot links: news <http://sourceforge.net/p/plplot/news/>, example code and resulting PLplot screenshots <http://plplot.sourceforge.net/examples.php>, documentation <http://plplot.sourceforge.net/documentation.php>, credits <http://plplot.sourceforge.net/credits.php>, wiki <https://sourceforge.net/p/plplot/wiki>, SourceForge project page <http://sourceforge.net/projects/plplot>, project support page <http://sourceforge.net/projects/plplot/support>, mailing lists <http://sourceforge.net/p/plplot/mailman/>, and bug tracker <http://sourceforge.net/p/plplot/bugs/>.