[Numpy-discussion] fwd: ANN: PyX 0.9 released

Arnd Baecker arnd.baecker at web.de
Wed May 24 07:49:06 EDT 2006


Hi,

some of you might have heard about PyX, http://pyx.sourceforge.net/
which """is a Python package for the creation of PostScript and PDF files.
It combines an abstraction of the PostScript drawing model with a TeX/LaTeX
interface.

Features

    * PostScript and PDF output for device independent, free 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.
"""

Below is the release announcement for PyX 0.9.

Best, Arnd

P.S. To simplify the plotting of numpy arrays (1D and 2D) with
     PyX you could have a look at pyxgraph,
       http://www.physik.tu-dresden.de/~baecker/python/pyxgraph.html
     (which is still under heavy development ...;-)



---------- Forwarded message ----------
Date: Wed, 24 May 2006 15:23:22 +0200
From: Andre Wobst <wobsta at users.sourceforge.net>
To: PyX-user <pyx-user at lists.sourceforge.net>,
     PyX-devel <pyx-devel at lists.sourceforge.net>
Subject: [PyX-user] ANN: PyX 0.9 released

Hi!

We're proud to announce the release of PyX 0.9! After quite some time
we finally managed to prepare a new major release. Many improvements
and fixes are included (see the attached list of changes), but there
are a couple of highlights which should be mentioned separately: This
release adds a set of deformers to PyX for path manipulations like
smoothing, shifting, etc. A new set of extensively documented examples
describing various aspects of PyX in a cookbook-like fashion have been
written. Type 1 font-stripping is now handled by a newly written
Python module. The evaluation of functions for graph plotting is now
left to Python. Thereby some obscure data manipulation could be
removed from the bar style for handling of nested bar graphs.
Transparency is now supported for PDF output.

Let me try to summarize some of the *visible* changes (to existing
code out there) we needed to apply to facilitate some of the major
goals of this release:

  - The path system has passed another restructuring phase. The
    normpath, which allows for all the advanced path features of PyX,
    have been moved into a separate module normpath. The
    parametrization of the paths (i.e. of the normpaths) is now
    handled by normpathparam instances allowing for mixing arc lengths
    and normpathparam instances in any order in many path functions
    like split etc. The normpathparam instances allow the addition of
    arc lengths to walk along a path, for example starting at the end
    of a path or at an intersection point.

  - The evaluation of mathematical expressions in the classes from the
    graph.data module is now left to Python. While this leads to a
    huge set of other improvements (like being not restricted to the
    floats datatype anymore), there are no differences between the
    evaluation of the expression compared to Python anymore. As Python
    by default still uses integer division for integer arguments, the
    meaning of a function expression like "1/2" has changed
    dramatically. In earlier versions of PyX for this example the
    value 0.5 was calculated, now it becomes 0. (I'm looking forward
    to Python 3000 to get rid of this situation once and for all! :-))

  - Bars graphs on a list of data sets, which in earlier versions have
    been automatically converted to use a nested bar axis, don't do
    that automatic conversion anymore. You may want to look at the
    example http://pyx.sourceforge.net/examples/bargraphs/compare.html
    to learn more about the new and more flexible solution.

  - The stroke styles linestyle and dash now use the rellength feature
    by default. Furthermore the rellength feature was adjusted to not
    modify the dash lengths for the default linewidth. Hence you're
    affected by this change when you have used the rellength feature
    before or you used linestyles on linewidths different from the
    default.

  - The bbox calcuation was modified in two respects: First it now
    properly takes into account the shape of bezier boxes (so the real
    bounding box is now used instead of the control box). Secondly PyX
    now takes into account the linewidths when stroking a path and
    adds it to the bounding box.


Happy PyXing ...

Jörg, Michael, and André


------------------

0.9 (2006/05/24):
  - most important changes (to be included in the release notes):
    - mathtree removal (warning about integer division)
    - barpos style does not build tuples for nestedbar axes automatically
    - new deformers for path manipulation (for smoothing, shifting, ... paths)
  - font modules:
    - new framework for font handling
    - own implementation of type1 font stripping (old pdftex code fragments removed)
    - complete type1 font command representation and glyph path extraction from font programs
    - t1code extension module (C version of de-/encoding routines used in Type 1 font files)
    - AFM file parser
  - graph modules:
    - data module:
      - mathtree removal: more flexibility due to true python expressions
      - default style instantiation bug (reported by Gregory Novak)
    - style module:
      - automatic subaxis tuple creation removed in barpos (create tuples
        in expressions now; subnames argument removed since it became pointless;
        adujstaxis became independend from selectstyle for all styles now)
      - remove multiple painting of frompath in histogram and barpos styles
      - fix missing attribute select when using a bar style once only (reported by Alan Isaac)
      - fix histograms for negative y-coordinates (reported by Dominic Ford, bug #1492548)
      - fix histogram to stroke lines to the baseline for steps=0 when two subsequent values are equal
      - add key method for histogram style (reported by Hagemann, bug #1371554)
      - implement a changebar style
    - graph, axis and style module:
      - support for mutual linking of axes between graphs
      - new domethods dependency handling
      - separate axis range calculation from dolayout
    - axis.parter module:
      - linear and logarthmic partitioners always need lists now
        (as it was documented all the time; renamed tickdist/labeldist
        to tickdists/labeldists; renamed tickpos/labelpos to
        tickpreexps/labelpreexps)
    - axis module:
      - patch to tickpos and vtickpos (reported by Wojciech Smigaj, cf. patch #1286112)
      - anchoredpathaxis added (suggested by Wojciech Smigaj)
      - properly handle range rating on inversed axis (reported by Dominic Ford, cf. bug #1461513)
      - invalidate axis partitions with a single label only by the distance rater
      - fallback (with warning) to linear partitioner on a small logarithmics scale
    - painter module:
      - patch to allow for tickattrs=None (reported by Wojciech Smigaj, cf. patch #1286116)
  - color module:
    - transparency support (PDF only)
    - conversion between colorspaces
    - nonlinear palettes added
    - the former palette must now be initialized as linearpalette
    - remove min and max arguments of palettes
  - text module:
    - improve escapestring to handle all ascii characters
    - correct vshift when text size is modified by a text.size instance
    - recover from exceptions (reported by Alan Isaac)
    - handle missing italic angle information in tfm for pdf output (reported by Brett Calcott)
    - allow for .def and .fd files in texmessage.loaddef (new name for
      texmessage.loadfd, which was restricted to .fd files)
  - path module:
    - correct closepath (do not invalidate currentpoint but set it to the
      beginning of the current subpath); structural rework of pathitems
    - calculate real bboxes for Bezier curves
    - fix intersection due to non-linear parametrization of bezier curves
    - add rotate methods to path, normpath, normsubpath, and normsubpathitems
    - add flushskippedline to normsubpath
    - add arclentoparam to normsubpath and normsubpathitems
    - path is no longer a canvasitem
    - reduce number of parameters of outputPS/outputPDF methods (do not pass context and registry)
  - normpath module:
    - contains normpath, normsubpath and normpathparam which have originally
      been in the path module
    - return "invalid" for certain path operations when the curve "speed" is
      below a certain threshold
    - normpath is no longer a canvasitem
    - reduce number of parameters of outputPS/outputPDF methods (do not pass context and registry)
  - deformer module:
    - rewritten smoothed to make use of the subnormpath facilities
    - rewritten parallel for arbitrary paths
  - deco module:
    - add basic text decorator
    - allow arrows at arbitrary positions along the path
  - connector module:
    - boxdists parameter need to be a list/tuple of two items now
    - changed the orientation of the angle parameters
  - trafo module:
    - renamed _apply to apply_pt
    - introduce _epsilon for checking the singularity of a trafo
  - epsfile module:
    - use rectclip instead of clip to remove the clipping path from the
      PostScript stack, which otherwise might create strange effects for
      certain PostScript files (reported by Gert Ingold)
  - dvifile module:
    - silently ignore TrueType fonts in font mapping files (reported by Gabriel Vasseur)
  - type1font module:
    - accept [ and ] as separators in encoding files (reported by Mojca Miklavec, cf. bug #1429524)
  - canvas module:
    - remove registerPS/registerPDF in favour of registering resourcing during the outputPS/outputPDF run
    - move bbox handling to registry
    - rename outputPS/outputPDF -> processPS/processPDF
    - remove set method of canvas
    - add a pipeGS method to directly pass the PyX output to ghostscript
    - allow file instances as parameter of the writeXXXfile methods (feature request #1419658 by Jason Pratt)
  - document modules:
    - allow file instances as parameter of the writeXXXfile methods (feature request #1419658 by Jason Pratt)
  - style module:
    - make rellength the default for dash styles
  - random notes:
    - switched to subversion on 2006/03/09

-- 
by  _ _      _    Dr. André Wobst
   / \ \    / )   wobsta at users.sourceforge.net, http://www.wobsta.de/
  / _ \ \/\/ /    PyX - High quality PostScript and PDF figures
 (_/ \_)_/\_/     with Python & TeX: visit http://pyx.sourceforge.net/


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
PyX-user mailing list
PyX-user at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyx-user





More information about the NumPy-Discussion mailing list