-->
Home » , , » The PLplot Library User Guide: Introduction.
Friday
23 October 2015

The PLplot Library User Guide: Introduction.

PLplot is a library of C functions that are useful for making scientific plots from programs written in C, C++, Fortran95, Java, Octave, Perl, Python, and Tcl/Tk. The PLplot project is being developed by a world-wide team who interact via the facilities provided by SourceForge (http://sourceforge.net/projects/plplot)

The PLplot library can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) 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. Different line styles, widths and colors are supported. A virtually infinite number of distinct area fill patterns may be used. There is full unicode support in the PLplot library, and most of the display drivers are capable of displaying any of the millions(?) of characters in the unicode standard.

plplot

Those driver that are not unicode enabled can still display almost 1000 characters in the extended character set. This includes four different fonts, the Greek alphabet and a host of mathematical, musical, and other symbols. A variety of output devices and file formats are supported including a metafile format which can be subsequently rendered to any device/file. New devices and file formats can be easily added by writing a driver routine. For example, we have recently added a postscript driver with TrueType font support (PSTTF), a SVG file driver and a PDF file driver. A wxWidgets interactive driver is currently in development.

PLplot was originally developed by Sze Tan of the University of Auckland in Fortran-77. Many of the underlying concepts used in the PLplot package are based on ideas used in Tim Pearson's PGPLOT package. Sze Tan writes:

I'm rather amazed how far PLPLOT has travelled given its origins etc. I first used PGPLOT on the Starlink VAX computers while I was a graduate student at the Mullard Radio Astronomy Observatory in Cambridge from 1983-1987. At the beginning of 1986, I was to give a seminar within the department at which I wanted to have a computer graphics demonstration on an IBM PC which was connected to a completely non-standard graphics card. Having about a week to do this and not having any drivers for the card, I started from the back end and designed PLPLOT to be such that one only needed to be able to draw a line or a dot on the screen in order to do arbitrary graphics. The application programmer's interface was made as similar as possible to PGPLOT so that I could easily port my programs from the VAX to the PC. The kernel of PLPLOT was modelled on PGPLOT but the code is not derived from it.

The C version of PLplot was developed by Tony Richardson on a Commodore Amiga. In the process, several of the routines were rewritten to improve efficiency and some new features added. The program structure was changed somewhat to make it easier to incorporate new devices. Additional features were added to allow three-dimensional plotting and better access to low-level routines.

PLplot 5.0 is a continuation of our work on PLplot 4.0, which never got widely distributed. It became clear during the work on 4.0 that in order to support an interactive driver under Unix (using Tcl/Tk), many additions to the basic capabilities of the package were needed. So without stopping to fully document and bug-fix the 4.0 additions, work on 5.0 was begun. The result is that a very capable PLplot-based widget for the Tk toolkit has been written. This widget can manipulate the plot (zoom/pan, scale, orient, change colors), as well dump it to any supported device. There are help menus and user customization options. These are still in the process of being documented.

Other changes include the introduction of a new color palette (cmap1) for smooth color shaded images (typically for 2d or 3d plots – in which color represents function intensity), support for color fill plots, and lots more cool stuff. The manual has been rewritten in LaTeXinfo, so that there is now a printed version and an online (info) version of the document. The manual is still in a state of flux and will be fleshed out in more detail in later updates.

plplot2

Some of the improvements in PLplot 5.0 include: the addition of several new routines to enhance usage from Fortran and design of a portable C to Fortran interface. Additional support was added for coordinate mappings in contour plots and some bugs fixed. New labelling options were added. The font handling code was made more flexible and portable. A portable PLplot metafile driver and renderer was developed, allowing one to create a generic graphics file and do the actual rendering later (even on a different system). The ability to create family output files was added. The internal code structure was dramatically reworked, with elimination of global variables (for a more robust package), the drivers rewritten to improve consistency, and the ability to maintain multiple output streams added. An XFig driver was added. Other contributions include Clair Nielsen's (LANL) X-window driver (very nice for high-speed color graphics) and tektronix file viewer. At present, Maurice LeBrun and Geoff Furnish are the active developers and maintainers of PLplot.

We have attempted to keep PLplot 5.0 backward compatible with previous versions of PLplot. However, some functions are now obsolete, and many new ones have been added (e.g. new contouring functions, variable get/set routines, functions that affect label appearance). Codes written in C that use PLplot must be recompiled including the new header file plplot.h before linking to the new PLplot library.

PLplot is currently known to work on the following systems: Unix/Linux, Mac OS-X and Windows XP. The Unix/Linux version is the best supported of these possibilities. The PLplot package is freely distributable, but not in the public domain.

We welcome suggestions on how to improve this code, especially in the form of user-contributed enhancements or bug fixes. If PLplot is used in any published papers, please include an acknowledgement or citation of our work, which will help us to continue improving PLplot. Please direct all communication to the general PLplot mailing list, plplot-general@lists.sourceforge.net.

rlab

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

0 commenti:

Post a Comment

Random Posts

  • Kate (KDE Advanced Text Editor) is a text editor by KDE.
    11.09.2011 - 0 Comments
    Kate is a text editor by KDE. The name Kate is an acronym for KDE Advanced Text Editor. Kate has been part of KDE Software Compilation since release 2.2 in 2001.Because of the KParts technology, it is possible to embed Kate as an editing component…
  • pMachine is online publishing's most flexible and creative software.
    17.10.2008 - 0 Comments
    Blogs are useful add-on's for your website. You can also start your own webblog now with help of Fantastico script installer. Spice up your site with these useful utilities free of cost as…
  • Hattrick Organizer is a popular, free, java-based helper application and is a CHPP-approved program.
    22.04.2009 - 0 Comments
    Hattrick Organizer is a popular, free, java-based helper application and is a CHPP-approved program. It's OpenSource licensed LGPL and written in Java, therefore it's OS independent. Installers for Windows and MacOS are supplied, as well as a ZIP…
  • Oracle Enterprise Linux is an enterprise-class Linux distribution supported by Oracle.
    16.04.2010 - 0 Comments
    Oracle Enterprise Linux is an enterprise-class Linux distribution supported by Oracle. According to the project's web site, "Oracle starts with Red Hat Linux, removes Red Hat trademarks, and then adds Linux bug fixes." Oracle Enterprise Linux is,…
  • MRIcron is a cross-platform NIfTI format image viewer.
    24.10.2011 - 0 Comments
    MRIcron is a cross-platform NIfTI format image viewer. It can load multiple layers of images, generate volume renderings and draw volumes of interest. It also provides dcm2nii for converting DICOM images to NIfTI format and NPM for statistics.…
  • Mozilla Toolkit API
    19.04.2009 - 0 Comments
    The Mozilla Toolkit is a set of programming interfaces (APIs) built on top of Gecko which provide advanced services to XUL applications. These services include: Profile Management Chrome Registration Browsing History Extension and Theme…
  • Roxen WebServer is a full-featured open-source web server distributed under the GPL license.
    31.07.2014 - 0 Comments
    Roxen WebServer is a full-featured open-source web server distributed under the GPL license. It runs on a number of different operating systems including Windows, Linux, Solaris and Mac OS X. Some of the strong points of this server is: …
  • Xcfa is a tool to extract the contens of audio-cds and convert musical audio.
    26.06.2012 - 0 Comments
    XCFA is oofers an extraction tool for Audio-CD and musical file conversion to flac, wav, mp3, ogg, m4a, mpc, ape, wavpack formats. Decompression of wma and shorten formats to flac, wav, mp3, ogg, m4a, mpc, ape, and wavpack. Here are some key…
  • Aspyr Media behind the success of Linux and SteamOS.
    24.12.2015 - 0 Comments
    Aspyr Media has revealed that it is betting its future on the success of Valve’s SteamOS project, and that despite the tiny minority of machines running Linux it is already approaching a break-even point. Aspyr’s Michael Blair has stated that his…
  • Canonical at IAA Transportation 2024
    12.09.2024 - 0 Comments
    Showcasing automotive software innovation in hall 12, booth E36 Book a demo with our team As the automotive industry continues to accelerate towards a more connected, autonomous, and electric future, Canonical is thrilled to participate in the…

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->