Veusz scientific plotting application
Python C++ C Other
Clone or download
Pull request Compare This branch is 1214 commits behind veusz:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Veusz 1.16
Velvet Ember Under Sky Zenith

Copyright (C) 2003-2012 Jeremy Sanders <>
and contributors.

Licenced under the GPL (version 2 or greater).

Veusz is a Qt4 based scientific plotting package. It is written in
Python, using PyQt4 for display and user-interfaces, and numpy for
handling the numeric data. Veusz is designed to produce
publication-ready Postscript/PDF/SVG output. The user interface aims
to be simple, consistent and powerful.

Veusz provides a GUI, command line, embedding and scripting interface
(based on Python) to its plotting facilities. It also allows for
manipulation and editing of datasets. Data can be captured from
external sources such as Internet sockets or other programs.

Changes in 1.16:
 * Experimental MathML support
 * Add upper/lower-left/right arrows
 * Add options to clip text/lines/shapes to graphs
 * Add stacked-area option to bar plot widget
 * Draw stacked bar plots top-down for better overlapping line behaviour
 * Axis labels can be placed at left or right of axes, in addition to centre
 * Line widget now has length-angle or point-to-point modes. Better support
   for only specifying some coordinates.
 * Exception dialog records more detailed traceback
 * Use top level windows for non-modal dialogs, giving minimize in window
   and no always-on-top behaviour
 * Zero length vectors and arrows in vector fields are not plotted
 * Add support for strings to be translated
 * Add "Sort" dataset plugin
 * Add "Histogram 2D" dataset plugin
 * Add "Divide by Maximum" and "Normalize" dataset plugins
 * Support for *args and **kwargs for custom functions
 * Custom colormaps can be defined in the custom editing dialog

Bug fixes:
 * Use correct definition of 1pt = 1/72in
 * Workaround for splash screen problem
 * Fix numerous problems reported by pyflakes
 * Histograms fail when saved
 * Fix plot with nan functions
 * Fix failure of self tests on ARM platforms
 * Force pages/documents to have physical sizes
 * Fix crash if deleting multiple datasets in data edit dialog
 * Check dimensions of datasets in SetData
 * Handle better zero bytes in data files
 * Fix error if page size zero
 * Fix error if vector baselength is zero
 * If dataset plugin parameter not given in saved file, use default
 * Fix crash for axes with same minimum and maximum
 * Fix CSV import problem when same dataset has multiple types
 * Thinning markers works when using marker sizes / colors

Features of package:
 * X-Y plots (with errorbars)
 * Line and function plots
 * Contour plots
 * Images (with colour mappings and colorbars)
 * Stepped plots (for histograms)
 * Bar graphs
 * Vector field plots
 * Box plots
 * Polar plots
 * Ternary plots
 * Plotting dates
 * Fitting functions to data
 * Stacked plots and arrays of plots
 * Plot keys
 * Plot labels
 * Shapes and arrows on plots
 * LaTeX-like formatting for text
 * Scripting interface
 * Dataset creation/manipulation
 * Embed Veusz within other programs
 * Text, CSV, FITS, NPY/NPZ, QDP, binary and user-plugin importing
 * Data can be captured from external sources
 * User defined functions, constants and can import external Python functions
 * Plugin interface to allow user to write or load code to
    - import data using new formats
    - make new datasets, optionally linked to existing datasets
    - arbitrarily manipulate the document
 * Data picker
 * Interactive tutorial
 * Multithreaded rendering

Requirements for source install:
 Python (2.4 or greater required)
 Qt >= 4.4 (free edition)  
 PyQt >= 4.3 (SIP is required to be installed first)
 numpy >= 1.0

 PyFITS >= 1.1 (optional for FITS import)
 pyemf >= 2.0.0 (optional for EMF export)
 PyMinuit >= 1.1.2 (optional improved fitting)
 For EMF and better SVG export, PyQt >= 4.6 or better is
   required, to fix a bug in the C++ wrapping
 dbus-python, for dbus interface

For documentation on using Veusz, see the "Documents" directory. The
manual is in PDF, HTML and text format (generated from docbook). The
examples are also useful documentation. Please also see and contribute
to the Veusz wiki:

Issues with the current version:

  * Due to a bug in the Qt XML processing, some MathML elements
    containing purely white space (e.g. thin space) will give an error.

If you enjoy using Veusz, we would love to hear from you. Please join
the mailing lists at

to discuss new features or if you'd like to contribute code. The
latest code can always be found in the Git repository