|
From: Ethan A M. <merritt@u.washington.edu> - 2007-06-23 22:43:57
|
On Tuesday 19 June 2007 14:58, Daniel J Farrell wrote: >=20 > I would be interested in started developing for gnuplot, but find =20 > where to start a bit daunting. Maybe some mentoring of new developers =20 > with simple targets might be a good idea. Looking back on who has joined the project over the past several years, it seems that a common path into gnuplot development has been through improvement of specific terminal drivers, or contribution of new drivers. Each terminal is largely self-contained, the API is described in=20 =2E./term/README, and existing terminals serve as example code. Drivers currently under development: wxt - marked EXPERIMENTAL in 4.2 (lead developer: Timoth=E9e Lecomte) cairopdf - likely to go into CVS soon, but still could use a lot of testing and additional features (lead developer: Timoth=E9e Lecomte) aquaterm - in 4.2, but doesn't fully support recent features added to CVS such as transparency, image clipping, ... (lead developer: Per Persson) tikz - brand new, prototype circulated to mailing list but first version not yet on SourceForge. This looks to be the way forward towards supporting pdflatex. (lead developer: Mojca Miklavec) svg - I'd really like to see someone take on the task of adding mousing support to the svg driver. This would permit=20 server-side interactive graphs, which would be a totally new capability. No one is working on this that I know of, but see the contact info attached to Feature Request #1523116 "Allow mousing and zoom of embedded SVG plots" (lead developer: me I guess, although mostly I'm just fielding bug reports and suggested fixes from users) Old drivers that could use some updating, bug fixes, or extension: fig - see various bug reports on SourceForge (lead developer: none that I know of) win - probably needs updating for Vista, also needs updating to support recent features like transparency (lead developer: none that I know of) linux - this is a console-mode terminal driver, i.e. it can be used even if you are not running x11. It has two main drawbacks. (1) it uses libsvga, which requires root permission and in general is not very nice. (2) I've never managed to get it to work, although I see reports that other people use it. Other possible projects: Pick a bug from the SourceForge collection, and submit a patch that fixes it. Pick a patchset submitted to SourceForge by someone else, and test it thoroughly. Patches tested and endorsed by multiple people are much more likely to get moved into CVS. If the only one advocating for a patch is the person who wrote it, and it's not an obvious bug fix, then it may sit there for a long time before another champion comes along. Look through the feature requests on SourceForge, and re-start=20 discussion on the mailing list about whether we could or should implement it. Many of these are IMHO not worth pursuing, but some of them are simply waiting for a clever idea on how to implement it. Examples of the latter are 1506495 Parallel coordinate plot type 1359667 Make clickable graphics possible My personal list of things it would be nice to see added for an eventual version 4.4 or 5.0 includes =2D better internationalization support =2D uniform scaling of plot elements (e.g. font size, linewidth)=20 independent of the canvas size. Discussion of this has been scattered across the mailing list and comments on various bug reports and feature requests. I think implementation would be fairly easy; it just requires agreeing on the desired API and then working through the whole set of terminal drivers to hook up the new API to existing capabilities. =2D Modify term->image() code to pass a transformation matrix to the driver. Some terminals (post pdf svg wxt) can use the matrix to modify the image, which is a much better option than having the core code do it pixel by pixel. Your primary resource here for the core code would be Dan Sebald, plus whoever has the best handle on individual terminal capabilities. =2D additional demo files illustrating features that generate frequent questions on the newsgroup or elsewhere =2D modify the various interactive terminals (x11, wxt, win, aqua) to allow mousing of subplots within a multiplot figure =2D new plot types, but only if there is a scientific community that uses them already. Someone should look through the catalogs of plot types available in S+, R, matlab, etc to see if there are some obvious ones that are missing in gnuplot. =2D-=20 Ethan A Merritt |