Introduction

PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer. The PLplot software, which is primarily licensed under the LGPL, has a clean architecture that is organized as a core C library, separate language bindings for that library, and separate device drivers that are dynamically loaded by the core library 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.

Feature Summary

Cross Platform 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-w64/MSYS2 on the Microsoft version of Windows For each of the above platforms, PLplot can be built from source, and for the Linux and Mac OS X platforms third-party binary packages for PLplot are available. Language Bindings The language bindings of the C PLplot library are currently the following: Ada

C++

D

Fortran

Java

Lisp

Lua

OCaml

Octave

Perl/PDL

Python

Tcl/Tk

Output File Formats PLplot device drivers support a number of plotting file formats. CGM

GIF

JPEG

PBM

PDF

PNG

PostScript

SVG

Xfig Interactive Platforms PLplot device drivers support a number of platforms that are suitable for interactive plotting. GDI

GTK+

PyQt

Qt

Tcl/Tk

wxWidgets

X

Screenshots

You can find the code for these and other examples at the examples page