PyX — Python graphics package
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.17, is available at the PyPI project page.
News
- 2025-11-02: PyX 0.17 released
-
This release contains various fixes and improvements. In particular, it
adds support for log axes with purely negative values, graph grids are
now displayed below filled data, and the UnicodeEngine supports
transformations and colors.
Note that the density parameter has been moved to the axis rater. - 2022-10-16: PyX 0.16 released
- This release enables a shortcut for accessing graph-component attributes, simplifying the modification of default components. Small improvements and several bug fixes, especially for the text alignment with TeX Live 2020, are included.
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.
