svg.charts is a pure Python library for generating charts and graphs in SVG, originally based on the SVG::Graph Ruby package by Sean E. Russel.
svg.charts supercedes svg_charts 1.1 and 1.2.
svg.charts is written by Jason R. Coombs. It is licensed under an MIT-style permissive license.
You can install it with easy_install svg.charts, or from the subversion repository with easy_install svg.charts==dev.
svg.charts depends heavily on lxml and cssutils. Thanks to the contributors of those projects for stable, performant, standards-based packages.
Sean E. Russel for creating the SVG::Graph Ruby package from which this Python port was originally derived.
Leo Lapworth for creating the SVG::TT::Graph package which the Ruby port was based on.
Stephen Morgan for creating the TT template and SVG.
svg.charts has some examples (taken directly from the reference implementation) in tests/testing.py. These examples show sample usage of the various chart types. They should provide a good starting point for learning the usage of the library.
An example of using svg.charts in a CherryPy web app can be found in jaraco.site.charts. If the site is working, you can see the rendered output here.
Upgrading from 1.x to 2.0
I suggest removing SVG 1.0 from the python installation. This involves removing the SVG directory (or svg_chart*) from site-packages.
Change import statements to import from the new namespace.
from SVG import Bar Bar.VerticalBar(...) becomes from svg.charts.bar import VerticalBar VerticalBar(...)
Reporting Bugs and Getting Help
This project is hosted at sourceforge. Please use that site for reporting bugs and requesting help. Patches are also welcome.
What's New in This Release: [ read full changelog ]
· Corrected buggy logic in y-axis label rendering (thanks to Emmanuel Blot).
· Converted to Unix line endings.