Dears, I am staring to learn python/wxpython in order to make an app aimed at structural geology analysis. As usual, I am starting with something simple, and after I get the way of it, make it more complex.

The idea is (what I have running so far): a window with two panels (created with splitterwindows), in the left panel I display the data opened from txt files and in the right panel, I intent to create graphics from the data.

The data is basically a two-column ASCII file, values separated by tab/space/comma (reading it with csv). In the first column, we have the "azimuth" (ranging 0-360 degrees) and in the second column the "dip" (ranging 0-90 degrees) of geological structures.

The graphics will be similar to those in the attached files. Note that although they _look_ like polar plots, they aren't exactly polar plots. To summarize main differences:

- regular polar plots: Data plotted as (theta, radii), where theta = 0 at East (right of plot) and increases counter-clockwise, and radii = 0 ate center of plot.

- stereonet - data plotted in Lambert Azimuthal Conformal projection (or Azimuthal Equidistant), theta (azimuth) = 0 at North and increases clockwise, and radii (dip) = 0 at the border of the plot (90 at the center).

Given the differences with regular polar plots, I belive it would be easier to use some sort of "genereal purpose" graphics approach instead of matplotlib/chaco (is it?). Also, I want to save the images to file, not only to raster formats like png or jpg but also to vector formats, like svg, pdf or eps (maybe even wmf).

So, I'd like to hear from you, what do you recommend?

QT (pyQT) can do svg files, I believe. Cairo (pyCairo) can also. The former is a GUI framework will the latter is a graphics library.

EDIT: nevermind; I don't think QT can save svg files. I know cairo can render to pdf and svg files though.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.