SED navigation bar go to SED home page go to Dataplot home page go to NIST home page SED Home Page SED Staff SED Projects SED Products and Publications Search SED Pages
Dataplot Vol 1 Vol 2

LIBPLOT

Name:
    LIBPLOT
Type:
    Output Device Command
Purpose:
    Create graphics files using the LIBPLOT library.
Description:
    The LIBPLOT library is part of the "plotutils" package that is available under many Unix/Linux platforms (and can be easily installed if it is not already available).

    The LIBPLOT library allows graphics to be generated in the following formats:

    1. X11
    2. GIF
    3. Postscript
    4. HP-GL
    5. Scalable Vector Graphics (SVG)
    6. Portable Network Graphics (PNG)
    7. Tektronix 4014
    8. Regis
    9. netPBM format (PNM) in either binary or ASCII
    10. Adobe Illustrator
    11. xfig
    12. HP PCL (using HP-GL emulation)
    13. plotutils metafile format
    14. web CGM in either binary or ASCII format

    Devices 1-8 are redundant to devices that are already supported in Dataplot. We will say a bit more about the remaining devices since these are not currently supported in Dataplot.

    1. The netPBM software package supports conversion between many types of bitmap formats (currently converters are available for over 100 graphics formats). In addition, it supports a number of programs for manipulating bitmap files. The netPBM software is freely downloadable and is supported on most major computing platforms.

      The netPBM programs do not convert directly from one format to the other. Instead, they convert to the intermediate PNM format. Then for a supported bitmap format, programs are available to convert to and from the PNM format.

      The primary utility for this format is that it greatly expands the potential number of bitmap formats that Dataplot can generate. Dataplot can generate graphics output in PNG, JPEG, and GIF format using the GD library. However, if you need a graphic in a bitmap format other than these, the PNM option provides an option. In addition to the netPBM software, most bitmap conversion software supports the PNM format. The PNM format is typically not of interest itself. Rather, it is useful because it allows you to easily convert to many other bitmap formats.

      More information about the netPBM software and PPM format is available at the netPBM website:

      http://netpbm.sourceforge.net/

    2. The Adobe Illustrator program is a popular graphics editing program. This driver generates graphs in Adobe Illustrator's native format.

    3. The xfig program is a graphics editing program that has been available on most Unix/Linux platforms for a long time. This driver generates graphs in xfig's native format.

    4. The Printer Control Language (PCL) was developed by HP to support its desktop printers. It has been adopted as the primary protocol by many desktop printers.

      Note that the LIBPLOT PCL driver does not generate native PCL bitmaps. Instead, it uses the HP-GL emulation that is provided in PCL. The HP-GL language is a vector-based format that HP originally introduced to support its penplotters. The PCL driver will include the commands to put the printer into HP-GL emulation mode and to terminate HP-GL emulation mode.

      The primary utility of this driver is that it may allow you to create a graphics file that can be sent directly to a printer instead of generating Postscript and sending it through an intermediate software such as Ghostview. The downside of this is that the HP-GL emulation is not as rich as the Postscript language (e.g., the color support is more limited).

    5. The LIBPLOT metafile format is used by the programs in the plotutils package.

    6. The webcgm format is an ANSI standard Computer Graphics Metafile (CGM) format. Although CGM did not become a widely adopted standard, there are a number of word processing, graphics editing, and page publishing software programs that will import CGM files. Note that libplot supports a newer version of CGM that was developed to support inclusion on web pages.

    In summary, most of the new formats provided by the LIBPLOT driver are most useful as ways of importing Dataplot graphics into other programs.

    Some of the features and limitations of the LIBPLOT driver are discussed in the Notes section below.

    The documentation for the Plotutils package (including LIBPLOT) is available at the web site

Syntax 1:
    DEVICE <1/2/3> LIBPLOT <device>
    where <device> is one of the following:
      X - for X11
      PNM - netPBM PNM binary format
      PNM ASCII - netPBM PNM ascii format
      GIF - GIF format
      AI - Adobe Illustrator format
      PS - Postscript format
      FIG - xfig format
      PCL - PCL format using HP-GL emulation
      HPGL - HP-GL format
      META - LIBPLOT metafile binary format
      META ASCII - LIBPLOT metafile ascii format
      SVG - Scalable Vector Graphics format
      PNG - Portable Network Graphics format
      TEK - Tektronix 4014 format to the terminal screen
      TEK FILE - Tektronix 4014 format to file
      REGIS - Regis format to the terminal screen
      REGIS FILE - Regis format to file
      CGM - CGM binary format
      CGM ASCII - CGM ascii format

    This form designates one of DATAPLOT's 3 devices (typically device 2) as a LIBPLOT device.

    Note that although Dataplot supports 3 concurrent devices, only one of these can be a LIBPLOT device. Typically, it will be DEVICE 2 that you set to a LIBPLOT device.

Examples:
    DEVICE 2 LIBPLOT PNG
    DEVICE 2 LIBPLOT PNM
    DEVICE 2 LIBPLOT FIG
Note:
    If you build Dataplot from source, the LIBPLOT driver depends on plotutils being installed on your local platform. Currently, LIBPLOT support is limited to Linux/Unix installations.
Note:
    The LIBPLOT library is currently limited to output only. This means that the CROSS HAIR command is not supported.
Note:
    Dataplot typically uses "dppl1f.dat" and "dppl2f.dat" as the default names for the DEVICE 2 and DEVICE 3 output files. These default names can be modified with the SET IPL1NA and SET IPL2NA commands.

    However, the LIBPLOT devices use their own names. Specifically, the file name will be

      libplot.xx

    where xx is one of

      x => for the X device
      pnm => for the PNM device
      gif => for the GIF device
      ai => for the Adobe illustrator device
      ps => for the Postscript device
      fig => for the xfig device
      pcl => for the HP PCL device
      hpgl => for the HP GL device
      tek => for the Tektronix 4014 device
      meta => for the libplot metafile device
      svg => for the SVG device
      png => for the PNG device
      regis => for the Regis device
      cgm => for the cgm device

    There is no currently no way to change these default file names.

Note:
    The libplot devices are used to generate a single plot. If you need to generate multiple plots, do something like the following (this example is for Linux)

      DEVICE 2 LIBPLOT FIG
                  generate first plot
      DEVICE 2 CLOSE
      SYSTEM mv libplot.fig plot1.fig
      DEVICE 2 LIBPLOT FIG
                  generate second plot
      DEVICE 2 CLOSE
      SYSTEM mv libplot.fig plot2.fig

    The exception is that the X device can be used for multiple plots.

Note:
    The default image size is 570x570 pixels. This applies to the following devices: X, png, gif, and pnm. To change the default image size, enter the command

      SET LIBPLOT X SIZE <value>
      SET LIBPLOT Y SIZE <value>
Note:
    The following commands are supported

      SET LIBPLOT CAP STYLE <ROUND/PROJECT/BUTT>
      SET LIBPLOT JOIN STYLE <ROUND/BEVEL/MITER>
      SET LIBPLOT HARDWARE FILL <ON/OFF>
      SET LIBPLOT FONT <font name>

    Appendix A (section A.1) of the plotutils manual describes the fonts that are supported by the libplot library.

    All devices support the following Hershey fonts:

    1. HersheySerif
    2. HersheySerif-Italic
    3. HersheySerif-Bold
    4. HersheySerif-BoldItalic
    5. HersheyCyrillic
    6. HersheyCyrillic-Oblique
    7. HersheyEUC
    8. HersheySans
    9. HersheySans-Oblique
    10. HersheySans-Bold
    11. HersheySans-BoldOblique
    12. HersheyScript
    13. HersheyScript-Bold
    14. HersheyGothicEnglish
    15. HersheyGothicGerman
    16. HersheyGothicItalian
    17. HersheySerifSymbol
    18. HersheySerifSymbol-Oblique
    19. HersheySerifSymbol-Bold
    20. HersheySerifSymbol-BoldOblique
    21. HersheySansSymbol
    22. HersheySansSymbol-Oblique

    In addition, libplot supports the 35 Postscript fonts, the 45 PCL 5 fonts, 18 Hewlett-Packard vector fonts. These non-Hershey fonts are not available on all devices.

    The Postscript fonts are available for the X, Adobe Illustrator, Postscript, and fig devices. The PCL fonts are available for the Adobe Illustrator, PCL, and HP-GL devices. The HP vector fonts are available for the PCL and HP-GL devices.

    The X device can use any of the X11 fonts installed on your local system.

    The Postscript font names are

    1. Helvetica
    2. Helvetica-Oblique
    3. Helvetica-Bold
    4. Helvetica-BoldOblique
    5. Helvetica-Narrow
    6. Helvetica-Narrow-Oblique
    7. Helvetica-Narrow-Bold
    8. Helvetica-Narrow-BoldOblique
    9. Times-Roman
    10. Times-Italic
    11. Times-Bold
    12. Times-BoldItalic
    13. AvantGarde-Book
    14. AvantGarde-BookOblique
    15. AvantGarde-Demi
    16. AvantGarde-DemiOblique
    17. Bookman-Light
    18. Bookman-LightItalic
    19. Bookman-Demi
    20. Bookman-DemiItalic
    21. Courier
    22. Courier-Oblique
    23. Courier-Bold
    24. Courier-BoldOblique
    25. NewCenturySchlbk-Roman
    26. NewCenturySchlbk-Italic
    27. NewCenturySchlbk-Bold
    28. NewCenturySchlbk-BoldItalic
    29. Palatino-Roman
    30. Palatino-Italic
    31. Palatino-Bold
    32. Palatino-BoldItalic
    33. ZapfChancery-MediumItalic
    34. ZapfDingbats
    35. Symbol

    The PCL and HP fonts are given in the libplot manual.

    The default font is "Helvetica" for all devices except the PNM, GIF, HP-GL, Tektronix, and metafile devices. For these, the default font is HersheySerif.

Note:
    The libplot device can handle many of Dataplot's supported special characters. These special characters are mapped to the libplot's special characters. There is not a 1-to-1 correspondence between Dataplot's special characters and the symbols available in libplot. The supported symbols below are ones that are available in both the Dataplot special symbol set and in libplot.

    Specifically, the following are supported:

    1. subscripts and superscripts
    2. Greek characters
    3. A subset of the mathematical symbols and other special characters. The following is the list of Dataplot special characters that will be translated to equivalent characters in the Postscript symbol font:

        INTE(), SUMM(), PROD(), INFI(), DOTP(),
        DIVI(), LT(), GT(), LTEQ(), GTEQ(),
        NOT=(), +-(), TILD(), EQUI(), VARI(),
        CARA(), TIME(), PART(), RADI(), SUBS(),
        SUPE(), THEX(),
        THFO(), LBRA(), RBRA(), LCBR(),
        RCBR(), RARR(), UARR(),
        DARR(), HBAR(), DEGR()

      The full set of special symbols supported by Dataplot is documented in chapter 13 of Volume I of the Reference Manual.

    Alternatively, you can enter special symbols using the libplot escape sequences. The available escape sequences are documented in Appendix A (section A.4) of the plotutils manual (available at the plotutils web site). This includes a large number of special symbols not supported directly by Dataplot.

Default:
    None
Synonyms:
    None
Related Commands:
    POSTSCRIPT = Direct graphical output to a Postscript device.
    HPGL = Direct graphical output to an HPGL device.
    SVG = Generate graphical output in Scalable Vector Graphics (SVG) format.
    DEVICE = Specify certain actions for the graphics output.
Applications:
    Web Applications, Graphics Import Into Other Programs
Implementation Date:
    2009/5
Program:
     
    DEVICE 1 LIBPLOT X
    TITLE SAMPLE PNG PLOT
    PLOT X**2 FOR X = 1 1 9
    DEVICE 1 CLOSE
        

Privacy Policy/Security Notice
Disclaimer | FOIA

NIST is an agency of the U.S. Commerce Department.

Date created: 07/06/2009
Last updated: 11/07/2016

Please email comments on this WWW page to alan.heckert@nist.gov.