The development team come with this intro:
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.
C:\Python373\Scripts>pip install PyX
...
Installing collected packages: PyX
Successfully installed PyX-0.14.1
I try few examples from official webpage and working well.>>> from pyx import *
>>>
>>> c = canvas.canvas()
>>> c.stroke(path.line(0, 0, 3, 0))
>>> c.stroke(path.rect(0, 1, 1, 1))
>>> c.fill(path.circle(2.5, 1.5, 0.5))
>>> c.writeEPSfile("path")
>>> c.writePDFfile("path")
>>> c.writeSVGfile("path")
>>> from pyx import *
>>>
>>> c = canvas.canvas()
>>> c.stroke(path.curve(0, 0, 0, 4, 2, 4, 3, 3),
... [style.linewidth.THICK, style.linestyle.dashed, color.rgb.blue,
... deco.earrow([deco.stroked([color.rgb.red, style.linejoin.round]),
... deco.filled([color.rgb.green])], size=1)])
>>> c.writeEPSfile("arrow")
>>> c.writePDFfile("arrow")
>>> c.writeSVGfile("arrow")
I got some error from writePDFfile with this example:>>> c.writeEPSfile("textalongpath")
>>> c.writePDFfile("textalongpath")
Traceback (most recent call last):
File "", line 1, in
File "C:\Python373\lib\site-packages\pyx\canvas.py", line 50, in wrappedindocu
ment
return method(d, file, **write_kwargs)
File "C:\Python373\lib\site-packages\pyx\document.py", line 193, in writePDFfi
le
pdfwriter.PDFwriter(self, f, **kwargs)
File "C:\Python373\lib\site-packages\pyx\pdfwriter.py", line 321, in __init__
registry.write(file, self, catalog)
File "C:\Python373\lib\site-packages\pyx\pdfwriter.py", line 78, in write
object.write(file, writer, self)
File "C:\Python373\lib\site-packages\pyx\pdfwriter.py", line 248, in write
file.write("/MediaBox [%f %f %f %f]\n" % self.PDFcontent.bbox.highrestuple_p
t())
File "C:\Python373\lib\site-packages\pyx\bbox.py", line 112, in highrestuple_p
t
raise ValueError("Cannot return high-res tuple for empty bbox")
ValueError: Cannot return high-res tuple for empty bbox
>>> c.writeSVGfile("textalongpath")
This python module has problem with some complex example from official webpage.