The Fifth Elephant 2012

Finding the elephant in the data.

Puneeth Chaganti


Data Visualization with Python

Submitted Jun 29, 2012

By the end of this workshop, participants will be able to

  • comfortably use Traits in their projects and create simple UIs with TraitsUI
  • plot, visualize and interactively explore data in 2D using Chaco
  • make simple 3D visualizations of data using mayavi’s mlab interface.


The talk is going to focus on data-visualization using Python and the Enthought Tool Suite, specifically using Chaco and Mayavi.

Chaco is a 2D-plotting application toolkit that facilitates writing plotting applications at all levels of complexity, from simple scripts with hard-coded data to large plotting programs with complex data interrelationships and a multitude of interactive tools. Chaco leverages on the power of Traits which is a Python package that allows developers to define attributes with change notifications, validation and a lot of other things. This makes Chaco very convenient and powerful to use.

Mayavi is a 3D visualization that makes it easy to do interactive visualizations in 3D. Mayavi is also a part of the Enthought Tool Suite and integrates well with Traits and TraitsUI.

The tutorial will start with an outline of Traits, TraitsUI (a set of user interface tools designed to complement Traits) and then move to Chaco. The tutorial will show how to use Chaco for making interactive plots, and show the wide variety of plots that Chaco supports.
The last part of the tutorial will be a brief introduction to Mayavi and basic usage of mlab, the scripting interface of Mayavi.


  • A laptop
  • A python install with numpy, scipy, traits, traitsui, chaco and mayavi.

Speaker bio

Two of us, Pankaj Pandey and Puneeth Chaganti will be conducting the workshop. We are currently employed at Enthought and write Python and Traits based code for our bread and butter. Pankaj has a good experience with Chaco and Mayavi, and Puneeth has done some basic visualization with these tools.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

All about data science and machine learning