From: Geoffrey F. <fu...@ac...> - 2001-01-26 17:39:05
|
Silje Helfjord writes: > Hi, > > we're planning a new version of our vizualisation software and are looking > for new and better solutions for some areas. We need a good tool for 2D > plotting and are considering PLplot. > > What I'm wondering about is if anyone had time to go over my list and tell > me if PLplot has these capabilities. PLplot is mostly a graphics API library. You write code (C, C++, Fortran, Tcl, Python) to call library functions to get plots made. With that context: > 1. Supports curves and scatter plotting with multiple series. You can issue calls to draw multiple independent polylines in a given viewport. These individual polylines can be drawn with various colors and linestyles. You can also make scatter plots, either with points, or with other symbols. > 2. Multiple plot windows simultaniously You can have multiple viewports onto an output device. However, when you issue plotting output calls, they go to the current default viewport, rather than having you specify a "viewport id" with each call. I don't have a total recollection of everything in PLplot, but I don't think there exists an api to set the current viewport out of those defined for the current page. But you can draw into multiple viewports on one page, one at a time. Alternatively, if you use something like the Tk plframe widget, you can have multiple plframe widgets active in the code at the same time, and send plots to any of them in any order you like. If you had one viewport per plframe, that might get you what you're after. But that's a Tk capability. I don't know how you would translate something like that to a printer context. OTOH, simultaneity probably only matters for gui output. Also, if you are not using Tk, but are using X, you can create your own X windows, and associate PLplot output streams with them, and drive multiple X output windows simultaneously in that way. There is an API for setting the current PLplot output stream, and you can have as many active as you like. Just set the stream to the right one, then call the PLplot API that draws the data, then switch streams, etc. In this model you would again have one viewport per stream, but that might be a way to get what you want. > 3. Plotting a variable against time You can define the meanings and the scales of the axes, and make them anything you wnat. There is also a recently added "stripchart" facility that allows a dynamically updating display (on X). Very cool. > 4. Export of plot-data to ASCII file This would not be a function of PLplot per se. PLplot is basically a graphics API library. You could build a more general interactive data modelling and plotting tool with it, but such efforts have not been incorporated into the PLplot project at this time. > 5. Printing as bitmap There are bitmap (for the web) drivers in some stages of development and deployment, but I would not feel comfortable answering an unqualified "yes" to this at this time. > 6. Supports true vector line drawing for output of plots(for both Win and > Unix) Yes. For printer-type output devices, absolutely. If you want GUI output on WXX, I'm not really personally in-the-know about our capabilities in that area. > 7. User interactions with plot. (Picking values, ...) Yes, in the X and Tk drivers. > 8. Formatting plots > - Specifying axis scaling > - Showing grid lines yes. > If someone could tell me PLplot's possibilities in these areas, they would > save me a lot of time and I would be very grateful! You could benefit a lot by just building the C demos and running them. In just a few minutes you would be able to get a pretty good overview for the plot types that are supported. Alternatively, go to: http://www.plplot.org/examples/index.html This has pretty much the same info as you would get by compiling and running them yourself, except you can't see the code directly at the web site. But the examples are pretty straightforward, so if you get the package, you can quickly evaluate what it is like to be a PLplot client. Finally, PLplot is an open development project, so if you make enhancements to PLplot for your own project, and contribute them back, they can be incorporated. Now that we're hosted at sourceforge, we have pretty much overcome the patch-application-overload bottleneck of the past. Best regards, -- Geoffrey Furnish Actel Corporation fu...@ac... Senior Staff Engineer 955 East Arques Ave voice: 408-522-7528 Placement & Routing Sunnyvale, CA 94086-4533 fax: 408-522-8041 |