Plotting data

Plotting data is a guide to the various resource for plotting data using Tcl.

See Also

BLT - graph - how to draw a sophisticated time axis
How to set up a horizontal time axis on a BLT graph labelled both with dates and intermediate hour markers, and with the dates centralized with respect to the hours.
Simple data plotting example
Simple graph display
Chart generation support
Some canvas drawing routines to facilitate chart generation.
A little graph plotter
A simple slipchart
Another Graphing Widget
A pure-Tcl 2D graphing package
Histogram Plotter
A simple canvas object.
Tcl bindings for ImPlot .
An interactive plotting toolkit for Tcl and R.
Simple yet versatile plotting and charting.
Plotchart gallery
Plots and charts
Humble beginnings of a data analysis tool
emu_graph by Steve Cassidy
A pure-Tcl 2D graphing package
TMA - time series transmogrifer and analyser
A Tcl extension providing harting and graphing capabilities via the GDChart library
Nsgd is a module for AOLserver that allows a web designer to create dynamically-created graphics using the GD library.
Tcl wrapper around Apache ECharts (JavaScript Visualization library).
tkgnuplot (Oshiro)
An interactive interface to gnuplot.
A graph widget in pure Tcl/Tk with syntax / functionality based on gnuplot.

Non-Tcl Storage Systems

RRD (Round-Robin Database Tool)


 What: matplotlib
 Description: matplotlib is a python  2D plotting  library  which produces
              publication quality figures in a variety of hardcopy formats
              and interactive environments across platforms.
              matplotlib  can  be  used in python scripts,  the python and
              ipython  shell (ala matlab or mathematica),  web application
              servers, and six graphical user interface toolkits.
 Updated: 4/8/2009

 What: TGDChart
 Updated: A TCL extension providing charting and graphing capabilities via the GDChart C library.
 Updated: 6/7/2002
 Contact: Craig Huckabee (throught SourceForge site)

 What: cactus2d
 Description: Simple program for making 2 dimension line and scatter plots
        from columns of data.  Requires Tcl/Tk/BLT .
 Updated: 09/2001
 Contact: mailto:[email protected]

 What: cpumon
 Description: Invokes vmstat processes to monitor CPU metrics and plots
        them in a tri-color graph.
        The xcpu program is at ragnet.
 Updated: 03/1999
 Contact: mailto:[email protected] (Glenn Huxtable)
        mailto:[email protected]

 What: Data Explorer interactors
 Description: Contact pointed readers to the DXLink facility in Data
        Explorer, which he mentions makes custom interactors easy to
        write in Tcl/Tk.  He pointed readers to the above URL and mentioned
        that under "Features Project", that scatterplot brushing and
        parallel coordinate plots use Tcl/Tk interactors - used to control
        execution and display of DX.  More info on this topic would
        be appreciated by this catalog maintainer.
 Updated: 03/1999
 Contact: mailto:[email protected] (Ray Masters)

 What: Dataplot
 Description: Free public domain multi-platform software system for
        scientific visualization, statistical analysis and non-linear
        Makes use of Tcl/Tk, Expect, etc. to provide a graphical interface.
 Updated: 10/2001
 Contact: mailto:[email protected]

 What: datavision
 Description: DataVision is a window surfaced table plotting program
        based on Tcl 7.3/Tk 3.6/tclX.  Supports 2-D diagrams.
        Has been tested with Windowing Oracle SQL (wosql) v2.2 as well.
 Updated: 02/1997
 Contact: mailto:[email protected] (Michael Boese)

 What: nep
 Description: Interactive plot program based on BLT, intended for interactive
        exploration of 1 or more datasets.
        Interactive panning, scaling, zooming, scrolling and jumping.
        Each dataset gets a natural scrolling distance, markers associated
        with the data for display.
        Requires Tcl/Tk 8.0 and BLT 2.4i.  Currently at v2.0.3.
 Updated: 11/1998
 Contact: mailto:[email protected] (Harald Kirsch)

 What: Netscape client Tcl Tclet (Madhuram)
 Description: Interactive Graph Plotter and alertness tester.
 Updated: 02/2000
 Contact: mailto:[email protected] (C. Rajkumar Madhuram)

 What: Netscape client Tcl Tclet (Schelter)
 Description: Netmath is a web browser with built in plotting facilities
        and interface to computation engines.
 Updated: 06/1999
 Contact: mailto:[email protected]

 What: Netscape client Tcl Tclets (McCaskey)
 Description: Serious Series is a a flexible Tk plotting Tclet for
        producing points, lines, columns, multiple axes, annotations, etc.
 Updated: 11/1996
 Contact: mailto:[email protected] (John McCaskey)

 What: OMNeT++
 Description: A C++ based discrete event simulator, featuring a graphical
        model editor, textual model topology language, simulation class
        library, process based activity description, run time user
        interfaces (batch, graphical, TVision), message flow and
        statistics animation, interactive simulation, tracing,
        random seed generaator tool, result analysis and plotting and
        support for PVM parallel Virtual Machine.
        Tcl/Tk used to build several of the graphical tools.
        Has been ported to Windows 95/NT.
        Currently at version 2.1 .
 Updated: 07/1998
 Contact: mailto:[email protected] (Andras Varga)
        mailto:[email protected]

 Where: From the contact
 Description: A simple example of calling gnuplot from Tk and graphically
        plotting the results.
 Updated: 11/1996
 Contact: mailto:[email protected] (Peter Brueckner)

 What: plplot
 Description: A scientific plotting package, containing a wide range of
        plot types and font characters.  It supports many different
        output device drivers.  It provides a full user interface,
        with zoom, pan, orient, etc.
        Plplot is a GLPL'ed graphing and plotting package, containing
        much improved C++ and Tk (and incr Tk) integration compared to
        the old releases.  Can be used stand alone or on top of Cpptcl.
        Use of Cpptcl can allow access to the Tcl_Obj interface of Tcl and
        result in faster performance in some cases.
        It also includes a stand alone Tcl matrix object.
        Now requires Tcl/Tk 8.x.
        The build system uses CMake, so that builds are possible on Linux,
        OSX and Windows (bare Windows, Cygwin and MinGW).
        Currently at version 5.10.0 (soon 5.11.0).
 Updated: 02/2015
 Contact: mailto:[email protected] (Arjen Markus)
        mailto:[email protected] and [email protected] for mailing list.

PLPLOT, which has available a Tcl and a Tk interface. There is a mailing list in support of it. To subscribe, see the PLplot project page on SF. (Note: AM took the liberty of updating this information, as one of the maintainers of this package, dd. 11 february 2015)

 What: ptplot (ptolemy)
 Description: Java two dimensional plotter - alternative to xgraph or
        pxgraph.  Includes ptplot2mif.tcl to convert the output of
        ptplot to Framemaker MIF.
        Ptolemy hacker mailing list also takes questions on ptplot.
 Updated: 06/1998
 Contact: mailto:[email protected]

 What: POW
 Description: X-Y style graphics plotting tools that work stand alone or
        with plugin.
 Updated: 04/1999
 Contact: mailto:[email protected]

 What: R
 Description: Statistical computing and visualization language, similar to the S
        language.  Provides a wide variety of techniques.
        Comes with a tcltk package providing interface and language bindings
         for Tcl/Tk.
        Makes use of plplot.
        Note that Mark Myatt mailto:[email protected] is
         writing a syntax highlighting editor to be used as a front-end
         of R; contact him for details.
        Currently at version 1.5.0 .
 Updated: 10/2001
 Contact: See web site

 What: SciTeXt
 Description: Object oriented Unix WYSIWYG word processor, supports Type 1
        PostScript fonts, context sensitive toolbars, language independant,
        shortcuts, online help, supports document and paragraph level
        templates, spell checker and thesaurus, footnotes, table of
        contents, indices, chapter numbering, glossary, tables, charts,
        mathmatical plots, document exchange.
 Contact: mailto:[email protected] (SciTeXt mailing list)
                (send address above a "subscribe scitext")

 What: splotter
 Description: Tcl/Tk app to plot simple 2 and 3 D graphs.
        Currently at version 1.2 .
 Updated: 10/2001
 Contact: mailto:[email protected]

 What: Stopwatch (Shijo)
 Description: A simple stopwatch implemented in Tcl/Tk.
        This script works as both Tclet and stand alone program.
        He has also written a perl/Tk driver for gnuplot 3.7 - contact him
        for it.
        Tcl7.5/Tk4.1 or newer version including Tcl8.0/Tk8.0 is required.
 Updated: 12/1997
 Contact: mailto:[email protected] (Nagao Shijo)

 What: tkgraph
 Description: [incr tk] tool for graphing.  Create xy plots and polar plots.
        Uses itcl 2.2p2 and dash patch.
        Known to work with SunOs v4.1.3, v5.5.1, and Linux v2.0.33.
 Updated: 06/1998
 Contact: mailto:[email protected] (Mike Thomas)

 What: tkxgraph
 Description: Tk plotting tool
 Updated: 06/1998
 Contact: mailto:[email protected] (Benjamin A Allan)

 What: Wafe
 Description: Application forming an interface to the Tcl binding to Xt
        and various widget sets like Athena (Xaw3d),
        OSF/Motif (1.1 to 2.0), and others.  At the above FTP site are
        many other associated tar files, such as Linux binaries, Xaw3d,
        documentation, etc.  Wafe can be used as a frontend for programs
        in arbitrary programming languages (there are example programs
        written in Perl and Python contained in the package).
        As of version v1.0.18 Wafe supports the Kino widget class,
        Mosaic HTML widget, plotter widgets, XmGraph widget,
        Layout widget, tree widget, XbaeMatrix widget,
        Ghostview widget, Eurobridge widget, analog clock widget,
        most of the FWF widget classes, libWWW, LDAP library and more.
        Wafe supports graphic formats such as XBM, XPM, GIF, JPEG,
        and PNG.  Various object oriented Tcl extensions such as OTcl
        or itcl are also supported.  SSLEAY is supported.  Available in
        RedHat's .rpm format.  The current version
        supports Tcl 8.0, SSL streams, the choice of Tcl
        or Xt event loop, as well as a number of new modules.  Package
        includes cineast, an extensible WWW browser, written using Otcl
        and Wafe.  Other sample applications, such as htmlEdit, cpu-bars,
        gsv, pinger, xwafemail, etc. are also included.
        In version v1.0.19, Tcl_Objects are supported, UTF support when
         used with Tcl 8.1, Knvas widgets, Kino-2 widgets.
 Updated: 07/2002
 Contact: mailto:[email protected] (WaFE mailing list)

 What: xgpl
 Description: A Tk interface to the gnuplot program.
        Comes with minimal documentation - may require a Tcl/Tk
        expert to deal with some of the intricacies.
        Requires gnuplot 3.5.
 Updated: 02/1997
 Contact: mailto:[email protected] (Paul Alexander)

 What: AGS
 Description: C++ Class library for Genetic algorithms.
        It includes perl and/or Tcl/Tk graphic front-end.
        Graphics are provided through gnuplot.
 Updated: 04/1997
 Contact: mailto:[email protected]

 What: canvas support of lightweight plotting
 Where: From the contact
 Description: Extension to TkPixmap to support plotting, clearing and
        copying of user-defined pixmaps to a canvas.
 Contact: mailto:[email protected] (Martin Smith)

 What: DSP Megafunction Development Kit
 Description: Altera's DSP design kit, which uses Tcl/Tk on Windows 95/NT
        (and Unix) along with GNU Plot.
 Updated: 07/1999
 Contact: mailto:[email protected]

 What: function plotter
 Description: Simple Tk proc for plotting functions.
 Updated: 11/2000
 Contact: Web page allows interactive submission of questions and problems.

 What: gnuplot canvas commands
 Description: A patch to allow gnuplot to generate Tk canvas widget commands.
 Updated: 10/1998
 Contact: mailto:[email protected] (D. Jeff Dionne)
 Notes: Appears to be in recent versions of gnuplot without needing
        a patch. This may be an obsolete link.

 What: pgtk
 Description: pgtk was written as a way to create a platform-independent
        PGPLOT display driver using the Tk canvas widget as well as
        ptcl's PGPLOT Tcl bindings. Possibly obsolete.
        Pgperl is a Perl 5 module to binding for PGPLOT.
 Notes: PGPLOT has its own Tk driver for X-Windows; some folks object to
        the PGPLOT license that restricts distribution of the PGPLOT
        source code; consider PLplot [] as
        an alternative to PGPLOT.
 Updated: 08/1997
 Contact: mailto:[email protected] (Brian H. Toby)

 What: Plot3D
 Description: Tk plotting extension which renders into a canvas.
        It only does 3D lines, not surface graphs.
 Updated: 04/1998
 Contact: mailto:[email protected] (D. Richard Hipp)

 What: Plotting widget for Tk
 Description: The plotting widget is a part of PLPLOT,
        (see "part4").  Plplot uses the GNU licensing so be aware of this.
 Contact: mailto:[email protected] for mailing list.
        mailto:[email protected] (Dr. Maurice LeBrun)

 What: PortBox
 Where: From the contact
 Description: A Tcl 7.x interface to the XVT GUI toolbox.  It is not a
        complete encapsulation of XVT, though it may be close enough to
        be useful.  It is freely distributable software, even though
        XVT is not.  It was developed with the Macintosh's MPW 3.2+ and SCO
        Motif on XVT v3.02.  It has not been ported to Windows.  PortBox
        requires an ANSI C compiler.  This is *NOT* a version of Tk for
        the Macintosh or Windows.
 Contact: mailto:[email protected] (Cecil Coupe)

 What: ptcl (Elias)
 Description: PGPLOT (Caltech Plotting Package commands registered as Tcl
 Updated: 09/1996
 Contact: mailto:[email protected] (Nicholas Elias)

 What: TiM
 Description: TiM is a Tcl extension designed to process 2 dimensional
        arrays of binary data (referred to as a matrix).  Think of it is
        a MatLab-like Tcl extension.  Provies arithmetic operations on
        matrices, transformations, various data types, ability to read and
        write binary data in little or big endian byte order, ability
        to write image file formats with or without automatic compression,
        plot drawing (with PLplot), and various other image manipulation
 Updated: 02/1997
 Contact: mailto:[email protected] (Eric THIEBAUT)

 What: tkgnuplot
 Description: A Tcl/Tk interface to the popular data plotting program.
 Updated: 10/1998
 Contact: mailto:[email protected] (Mark Claypool)

 What: TkPlotCanvas
 Description: Tk data plotting widget for Python.
 Updated: 08/1998
 Contact: mailto:[email protected] (Konrad Hinsen)

 What: StatsView
 Description: Tool to view Solaris iostat, sar, vmstat, and vxstat statistics.
        Graphing done with gnuplot and GUI done with Perl/Tk.
 Updated: 04/1999
 Contact: mailto:[email protected] (Alan Burlison)

 Description: Analyse IGC flight data from GNSS data recorders used by
        glider pilots. Uses Perl/Tk and gnuplot.
        Currently at version 0.19 .
 Updated: 09/2001
 Contact: mailto:kruegerh at uni dash bremen dot de (Hannes Krueger)

 What: pTk Term::Gnuplot module
 Description: Provides Perl/Tk a direct to canvas plotting mode.
 Updated: 12/1999
 Contact: Unknown

 What: pTk tools by Slaven
 Description: Tetris is a Perl/Tk port of the game. BBBike is a route finder
        program for cyclists in Berlin written in Perl/Tk.
        The script and modules have more than 15,000 lines of pTk code.
        He has also written a Perl/Tk driver for gnuplot 3.7 - contact him
        for it.
 Updated: 09/2001
 Contact: mailto:[email protected] (Slaven Rezic)

 What: plop
 Description: Perl/Tk arbitrary function Plot Program. Used as part of the
        pTk tutorial.
 Updated: 07/1997
 Contact: mailto:[email protected] (Stephen O. Lidie)

 What: tkg2
 Description: Perl/Tk package for 2-D graphing; supports linear, log, probability
        and time series plots, scatter, line, text, bar, shade, y-error
        and x-y error bars, symbology, adjustable ticks, numbering, labeling,
        optional grid lines and origin lines, annotation with text, lines and
        symbols, multiple ascii data file inputs with unlimited delimiters,
        either importation of data or pointers to data files, copy, cut, paste,
        multiple plots per canvas, varying canvas sizes, batch processing of
        canvas to printer or PostScript file, multiple columns of data from
        multiple data files can all be loaded into one plot, output can
        be saved in Data::Dumper, Storable or FreezeThaw, plots can be resized
        and moved.
 Updated: 10/2001
 Contact: mailto:[email protected]
        mailto:[email protected]

 What: scrollgraph
 Description: Example of adding a scrollbar to blt_graph and scale
        to control magnification.
 Updated: 10/1998
 Contact: mailto:[email protected]  (Brad Midgley)

What: tkFPlot

Zmapper is a plotting program written in Tcl/Tk script. The purpose of Zmapper is to see 2-D conformal mapping plots, but it can also be used for standard plotting.

DISLIN is a commercial (free for non-commercial use) high-level plotting library for displaying data as curves, polar plots, bar graphs, pie charts, 3D-color plots, surfaces, contours and maps. It can be compiled as a Tcl loadable module with a simple scripting interface.

GLI : The Graphics Language Interpreter is a free, complete graphics system that offers a versatile environment for plotting complex data sets and displaying images. GLI combines powerful interfaces, flexible graphics utilities, and an extensive set of programming tools to provide engineers, scientists and analysts a complete solution for data analysis and scientific visualization. GLI was written at the Peter Grünberg Institut (PGI) at Research Centre Jülich.

GLI comes with its own command line interpreter, within which a Tcl interpreter may be instantiated, and thenceforth sessions and scripts may be run which intermingle Tcl and GLI commands.

There is also a binding to Tk for display of generated graphics.

Histo-Scope/hs : Histo-Scope is a set of Motif widgets for plotting and graphing scientific data, developed at Fermilab. The package was improved and extended at LBNL, and wrapped in a Tcl/Tk interface called hs.

Histo-Scope/hs provides a set of highly interactive graphing and plotting widgets, especially notable for its zooming capabilities, dynamic plot updating and animation, ability to "drag-and-drop" one plot into another, and for an implementation of the "virtual trackball" method used to rotate two-dimensional histograms and three-dimensional scatter plots. By providing interface to Histo-Scope and elements of CERNLIB, the hs extension brings a high quality histogramming, data plotting, and fitting facility to tcl.

The LBNL Histo-Scope distribution made a variety of improvements to ensure publication quality output (introduced font management, support for color scale plots, ability to put simple figures on top of Histo-Scope graphics and to import EPS files into any plot, LaTeX can now be used for complex annotations, etc).

Zplot has one simple goal: to produce beautiful encapsulated postscript graphs of two-dimensional data.

Examples: [L1 ]

[L2 ]