Skip to main content

A library for making charts with Python

Project description


Pycha is a very simple Python package for drawing charts using the great Cairo library. Its goals are:

  • Lightweight

  • Simple to use

  • Nice looking with default values

  • Customization

It won’t try to draw any possible chart on earth but draw the most common ones nicely. There are some other options you may want to look at like pyCairoChart.

Pycha is based on Plotr which is based on PlotKit. Both libraries are written in JavaScript and are great for client web programming. I needed the same for the server side so that’s the reason I ported Plotr to Python. Now we can deliver charts to people with JavaScript disabled or embed them in PDF reports.

Pycha is distributed under the terms of the GNU Lesser General Public License.


You can find Pycha’s documentation at


You can get the last bleeding edge version of pycha by getting a clone of the Mercurial repository:

hg clone

Don’t forget to check the Release Notes for each version to learn the new features and incompatible changes.


There is a mailing list about PyCha at You can join it to ask questions about its use or simply to talk about its development. Your ideas and feedback are greatly appreciated!


0.8.1 (2019-11-17)

  • Forgot to update Changelog for 0.8.0

0.8.0 (2019-11-17)

  • Add support for Python 3 by encukou

  • Add support for Tox, Pyflakes, Coverage and Buildbucket pipelines

  • Remove support for Buildout

0.7.0 (2012-04-07)

  • Radial Chart by Roberto Garcia Carvajal

  • Polygonal Chart by Roberto Garcia Carvajal

  • Ring Chart by Roberto Garcia Carvajal

  • Minor cleanups in the code

0.6.0 (2010-12-31)

  • Buildout support

  • Documentation revamped

  • Debug improvements

  • Autopadding

  • Make the unicode strings used in labels safer

0.5.3 (2010-03-29)

  • New title color option

  • Fix crash in chavier application

  • New horizontal axis lines. Options to turn it (and vertical ones) on and off

  • Improve precision in axis ticks

  • Add some examples and update old ones

0.5.2 (2009-09-26)

  • Add a to explictly include all files in the source distribution

0.5.1 (2009-09-19)

  • Several bug fixes (Lorenzo)

  • Draw circles instead of lines for scatter chart symbols (Lorenzo)

  • Error bars (Yang Zhang)

  • Improve tick labels (Simon)

  • Add labels with yvals next to the bars (Simon (Vsevolod) Ilyushchenko)

  • Change the project website (Lorenzo)

0.5.0 (2009-03-22)

  • Bar chart fixes (Adam)

  • Support for custon fonts in the ticks (Ged)

  • Support for an ‘interval’ option (Nicolas)

  • New color scheme system (Lorenzo)

  • Stacked bar charts support (Lorenzo)

0.4.2 (2009-02-15)

  • Much better documentation (Adam)

  • Fixes integer division when computing xscale (Laurent)

  • Fix for a broken example (Lorenzo)

  • Use labelFontSize when rendering the axis (Adam Przywecki)

  • Code cleanups. Now it should pass pyflakes and pep8 in most files (Lorenzo)

  • Support for running the test suite with python test (Lorenzo)

  • Support for SVG (and PDF, Postscript, Win32, Quartz) by changing the way we compute the surface dimensions (Lorenzo)

0.4.1 (2008-10-29)

  • Fix a colon in the README.txt file (Lorenzo)

  • Add a test_suite option to so we can run the tests before deployment (Lorenzo)

0.4.0 (2008-10-28)

  • Improved test suite (Lorenzo, Nicolas)

  • Many bugs fixed (Lorenzo, Stephane Wirtel)

  • Support for negative values in the datasets (Nicolas, Lorenzo)

  • Chavier, a simple pygtk application for playing with Pycha charts (Lorenzo)

  • Allow the legend to be placed relative to the right and bottom of the canvas (Nicolas Evrard)

  • Easier debugging by adding __str__ methods to aux classes (rectangle, point, area, …) (Lorenzo)

  • Do not overlap Y axis label when ticks label are not rotated (John Eikenberry)

0.3.0 (2008-03-22)

  • Scattered charts (Tamas Nepusz <>)

  • Chart titles (John Eikenberry <>)

  • Axis labels and rotated ticks (John)

  • Chart background and surface background (John)

  • Automatically augment the light in large color schemes (John)

  • Lots of bug fixes (John and Lorenzo)

0.2.0 (2007-10-25)

  • Test suite

  • Python 2.4 compatibility (patch by Miguel Hernandez)

  • API docs

  • Small fixes

0.1.0 (2007-10-17)

  • Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycha-0.8.1.tar.gz (43.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page