[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: alternatives to gnuplot ?



Hi David,

thanks for the kind words! I can hardly claim credit for making PyX as good as it is, but I will agree with you that it is a very nice tool. It does produce some very very nice results. I'll also not claim to be an expert in plotting programs, but I'm pleased that my reviews of them has provided you with assistance. Since the plotting programs (particularly the KDE/Qt based ones) have matured somewhat since my original posting, I should perhaps revisit the question when I have a spare couple of days (hah!) to try them all out again and see what I make of them now, even if I have little intention of changing away from PyX having put the effort into learning to use it.

BTW, I think I probably made my learning curve steeper because I needed to do quite complicated things right from the beginning (I was in the middle of writing a paper too) and also taking a "programmers" approach to it by trying to abstract things and use flow control rather than just treat it as a quick and dirty script. That's probably a salutary lesson for others thinking of playing with PyX.

You are right that the examples are quite good, although I did find problems with the docs as soon as I wanted to change from a dotted line to a dashed line etc or do some very serious monkeying with the legend on a graph (OK, it's my own fault for having very complex graphs, but it was also the best way of representing the data! honest...)

One thing that I found with PyX (and is true of many graphing packages) is that the size (bounding box in EPS speak) of the final graph is always different even if you give the graph the same dimensions when you create it. That's you define the size of the axes in PyX and then the tick labels and axis labels extend beyond that (and it's probably the most sensible way of doing it, so this is not a criticism of PyX, merely something of which one should be aware).

Normally this isn't a problem, but if you wish to stack a number of plots vertically as (a) (b) (c) etc in a figure, then you have to make sure the axes line up or they look silly. You can do this in PyX by putting them on the same canvas, or using a tool such as epsfconpose (google for it) or just using your typesetting program (latex etc). If you don't use PyX to do this, then putting a white box around the outside of the plot (outside the tick and axis labels) is the simplest way to the same dimensions on each plot so they stack nicely. You could probably also edit the EPS bounding box to do so, but it seems "nicer" to just have .dat + .py = .eps and .eps + .tex = .ps rather than going through an error-prone step of remembering to change bounding boxes.

(Given the number of number of posts to this list about preparing graphs, both 2D and 3D, this is obviously a pretty difficult issue for GNU/Linux users still... but it also seems that things are progressing rapidly. Let the discussion and development continue!)

cheers

Stuart


Reply to: