PyX — Python graphics package

3d plot example
3d plot example


PyX is a Python package for the creation of PostScript, PDF, and SVG files. It combines an abstraction of the PostScript drawing model with a TeX/LaTeX interface. Complex tasks like 2d and 3d plots in publication-ready quality are built out of these primitives.


  • PostScript, PDF, and SVG output for device independent, freely scalable figures
  • seamless TeX/LaTeX integration
  • full access to PostScript features like paths, linestyles, fill patterns, transformations, clipping, bitmap inclusion, etc.
  • advanced geometric operations on paths like intersections, transformations, splitting, smoothing, etc.
  • sophisticated graph generation: modular design, pluggable axes, axes partitioning based on rational number arithmetics, flexible graph styles, etc.

Status and Availability

PyX is in steady development. Planned features are listed on the roadmap. The current release, PyX 0.14, is available at the download section of the SourceForge project page.


2015-04-30: PyX 0.14 released
This version adds SVG (Scaleable Vector Graphics) as an output format to PyX. SVG can also be read to include it unchanged to into the SVG output. In addition, even though with quite some limitations, SVG can be read, parsed, and then represented on the PyX graphics level. Here it can be modified and output not just to SVG, but also to the other output formats. Various improvements and bug fixes complete this release.
2013-12-20: PyX 0.13 released
PyX has been ported to Python 3. It now requires Python 3.2 and above. Python 2 users should continue to use the previous PyX releases. Along with the port the text module was modernized and got a new documentation. In addition, the normpath now removes cusps from normcurves by spliting the curves on instability points such that tangents etc. are always well-defined. Various improvements and bug fixes complete this release.

For a full record of all news consult the news page.

Authors and License

PyX is written by Jörg Lehmann, Michael Schindler, and André Wobst. PyX is free software licensed under the GNU GPL Version 2 or (at your option) any later version. Other licensing schemes might be available upon request. Refer to the license page for further information.


The authors kindly acknowledge financial support from the German Speaking TeX User Group DANTE e.V.