On Fri, May 15, 2009 at 12:23:33PM +0200, ??iga Lenar??i?? wrote: > Hi! > > I'm considering including Plplot into wxMaxima (crossplatform Maxima > gui based on wxWidgets) as a plotting library. I have successfully > built the examples and tried them on Mac OS X. I have some questions > regarding that: > > 1) I would like to include all the necessary sources of plplot in > wxmaxima source, so the user doesn't need to compile the plplot > himself (so plplot is built when wxmaxima is built). The features > wxMaxima would benefit most from are (in order of importance): > -antialiased drawing in some form or another, preferably wxwidgets > -png export (preferably looks the same as in application - perhaps > wxwidgets can do that) > -pdf export > -svg export > What would be the minimum of needed sources and libraries to enable > that features? Particulary I would like to avoid dependance on > external libraries (such as qt ..) as much as possible to keep > wxMaxima easy to build and small. I know, plplot can use wxWidgets > for antialiased drawing - no need for AGG or cairo - which is great. > What about exports to png, svg and pdf?
I would suggest that you keep the plplot source separate from your own, even if you distribute it all together. This way it will make it easier for you to keep it up to date. Plplot is stable, but is being actively developed, particularly with support for additional language bindings and device drivers. Also plplot is already available on some systems. For example it is available pre-packaged for several flavours of Linux. Plplot comes with a wxwidgets based device driver. The README.wxwidgets describes how this might be embedded in your own canvas. I've not tried this so I can't comment. Perhaps one of the other developers can. We have several options for generating png output. You can use the gd driver (requires gd + png libraries). This has been around for a long time but is likely to be depreciated in terms of the cairo and qt png drivers. These both provide much better text and font handling than the plain gd driver, but obviously have more dependencies in terms of additional libraries. The gd driver can also use the freetype library to improve the text quality somewhat, but you still don't get the range of fonts / support for other scripts that cairo and qt both provide. For pdf there are again 3 options. The plain pdf driver uses the haru library. There are also pdf output available from the cairo and qt drivers. Again, there are some differences in pdf output between the drivers due to the differing back end libraries. Same applies to svg as well. The basic svg driver uses no external libraries which may be good for you, but the cairo and qt drivers may produce better output in some cases. In particular there seems to be a lot of buggy / non-standards conforming svg viewers out there. We have tried hard to work around these. In particular there are some font issues which qt / cairo can work around which the basic svg driver cannot. > 2) Speed of drawing - I would like to be able to resize and rotate my > plots interactivly (but not necessarily drawing the 'inbetween' > frames of rotation or resize, just the ending frame). From running > examples on (13) wxwidgets 'terminal' I've noticed it's extremely > slow, compared to xwindows 'terminal'... Is this a direct result of > using wxGC for drawing or can it be made faster? Is QT or cairo faster? The simple xwindows driver is certainly faster than the more complicated wxwidgets / cairo / qt based drivers. We are always trying to speed things up but it is often a trade off between quality / functionality and speed. Again Werner who wrote much of the wxwidgets driver is probably better placed to comment on the specifics. > 3) Out of curiosity - what's the point of svg cairo and svgqt, > pdfqt ... if they do the same thing with subpar results? What's the > reason for providing svgqt, when there is a default svg, nonreliant > on QT libs, available at all times? Is svgqt or svgcairo terminal in > some ways better than 'svg'? See my comments above on text / font handling for example. The ethos of plplot is to provide access to high quality plotting on as many devices as possible and with bindings to a large range of languages. We have several output formats where there are multiple drivers. Which you want to use will depend on your needs and on whether you want to use the wxwidgets, cairo or qt libraries for the rest of your application. We aim to provide you with the choice. Usually the cairo / qt drivers will provide advantages, particular in font handling, over the basic drivers. Depends whether you can live with the need for additional libraries. Good luck with the project anyway! Andrew ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Plplot-general mailing list Plplot-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-general