PyX — Python graphics package

3d plot example
3d plot example

Summary

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.

Features

  • 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.15, is available at the PyPI project page.

News

2019-07-14: PyX 0.15 released
This release introduces a new text engine UnicodeEngine, which enables simple typesetting with Type1 fonts without using TeX/LaTeX. The graph axis texters have been adjusted to work on the UnicodeEngine, as well. The exponential and mixed graph axis texters have been merged into the new default texter.
PyX' home has been moved to https://pyx-project.org. The source code repository has been converted to git and is now hosted at https://github.com/pyx-project/pyx.
2015-11-02: PyX 0.14.1 released
PyX source distribution is now hosted on PyPI. We also uploaded all old releases to PyPI. At the same time we removed the downloads from sourceforge. A few bug fixes are also included in 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.

Thanks

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