What's new


Version 2.41 Mar2009


Manual page for What's_new(PL)

  • Ploticus 2.41 release - 11 March, 2009     Download

  • What's new in version 2.41

  • What's new in earlier versions

  • Home page: ploticus.sourceforge.net

  • News group: hosted on yahoo groups


    Bug fixes applicable to 2.41 – None so far




    Cumulative summary of changes that might affect existing/old applications

    Unless otherwise stated, ploticus versions are designed to be backward-compatible, meaning that a "well-behaved" script written for an earlier version of ploticus should work on any later version. Any exceptions to this rule are noted here:
    • version 2.40 - The following are now deprecated: server-side image maps (use client-side instead); definition of categories within proc areadef (use proc categories instead); proc print.

    • version 2.40 - the following attributes have been discontinued: proc processdata's stack; proc usedata's element, proc getdata's rotate, and proc defineunits (use the $changeunits() function instead).

    • version 2.40 - proc rangebar has been renamed proc boxplot and there are major functionality changes. Any script that uses proc rangebar will need maintenance. See the introduction on the proc boxplot manual page for details.

    • version 2.40 - prefabs - the "compare" prefab and the boxplot component of the "vdist" prefab are no longer available due to the above changes in proc rangebar / proc boxplot.

    • version 2.40 - embedding of image from external file - proc import is now called proc image (old name will still work). Default image alignment is now topleft (was centered), and scale attribute is discontinued in favor of height and width. Symboldetails pngfile attribute name discontinued (use imgfile), and symboldetails pngscale / imgscale discontinued (use imgwidth and imgheight). These changes are a side effect of adding image support for SVG.

    • version 2.40 - lower case requirement - proc names, attribute names, and most controlled-vocabulary attribute values are documented as lowercase but uppercase characters were often tolerated. Script interpreter now stricter in this regard.

    • version 2.40 - proc processdata - field names for result dataset - for some actions default field names are assigned, for other actions any existing field names are cleared when they would almost certainly be wrong. This may break scripts that somehow depended on the old behavior.

    • version 2.40 - C language API - C programmers can no longer pass string constants to ploticus_execline(). This change was made necessary as a result of changes in script processing to eliminate some internal string copying.



    • version 2.33 - proc scatterplot - the cluster option is now no by default. Previous default had been yes. The cluster option forces duplicate data points to be made visible by offsetting them slightly, and involves a sort of all data points (to ensure that duplicates are adjacent).

    • version 2.33 - clickmap - URLs are now encoded properly. Before, the only encoding performed on clickmap URLs was that embedded spaces would be changed to underscores. Apps that depended on this quirk might need adjustment.

    • version 2.33 - SVG - proc settings - the svg_linkparms attribute has been discontinued; instead use the new clickmapurl: [target=new]http://abc.com... syntax.

    • version 2.33 - proc bars - when doing floating segment bars, the default method for labelling bars has been changed to "longways", that is, a label is centered within each bar rather than shown at the end of each bar. This change likely won't bother anybody.

    • version 2.31 - the "datematic" feature was added for more automatic handling of date, time, and datetime data. Old default behavior was autorange to exact maxima and minima, and to display one stub every 7 days. New default behavior is for autorange and stub increment to be selected based on context. Script that relied on old defaults may now give different results. Scripts must now specify eg. xautorange: ... nearest=exact to get the exact max and min.

    • version 2.31 - proc processdata, action: stats now can compute stats on the data in one or several data fields given in the fields attribute. Previously, a second field specified in the fields attribute was taken as an identifier field for MIN_ID and MAX_ID.. now a separate attribute tagfield is used for this purpose.

    • version 2.30 - with -csmap (client-side image maps PNG/GIF/JPEG) the default is now for map content to be written to stdout since this seems to be what is usually wanted. Previously the default had been for it to be written to a file. Server-side image maps (-map) and SVG are not affected by this change.

    • version 2.30 - prefabs - a few changes that might minimally affect existing applications - see "Caution:"

    • version 2.30 - SVG mouseover - the default method for doing mouseover text tooltip bubbles has been improved but it now references two new javascript files.

    • version 2.10 (probably) - the proc processdata breaks action requires an invocation of proc usedata to get back to the original data set. This is now explained correctly in the docs.

    • sometime after version 1.39, time values greater than 24:00:00 began to be regarded as invalid (they're invalid for clock times but not for elapsed times). This has been fixed in 2.20 but requires a format such as hhh:mm:ss to be specified when working with elapsed times (hhh indicates elapsed time, no upper limit).

    • version 2.10 - several obscure changes: config file parameters sid, gid, and filesizelimit dropped; number display format settings dropped from proc page; proc areadef catcompmethod: fuzzy no longer supported; proc processdata stack is now no by default, which might be an issue in scripts that use originaldata to access processdata result data set;

    • version 2.03 - pltab no longer supported. However, it is still available from here.

    • version 2.03 - proc rect (old name proc bevelrect) - bevelsize must now be specified in order to get a bevelled rectangle.

    • version 2.02 - lines prefab - changed the way that the fill parameter works. Previously it had applied to all curves and line color was used. Now it is specified as a color, and separately for each curve (using fill2, fill3, and fill4). This will break any existing applications that use the lines prefab to render multiple filled curves.

    • version 2.00 - New script interpreter resulted in some script syntax changes. Concatenation of variables is done differently in #set and #if statements, #setifnotgiven replaces #declare soft, and some other minor issues. Here are the details.




    Requested features list

    These items have been mentioned in correspondence (or in some cases dreamed up by myself) but are not currently on the "front burner". It's likely that some of these will be addressed eventually but probably not in the immediate future. If you have interest in taking any of these on, let me know and I will be happy to facilitate.
    • a method for automatic annotation placement, including avoidance of annotation, label, and plot object collisions. Rudimentary collision detection would probably involve keeping a list of labels and graphical elements and checking this list before rendering each successive element. The workaround for people who need it (such as those publishing in journals) is to render in EPS then use Adobe tools to manipulate elements by hand.

    • polar coordinates, radar plots, star plots (example) Unfortunately polar/radar can't be implemented just by writing new data space to absolute space translating routines.. for one thing assumptions about drawing long straight lines in x y space based on two endpoints don't hold in polar/radar space (they need to be curved around).

    • Interface to later versions of GD that have antialiased linedrawing (in grgd.c, shielded by #ifdefs) (note: may not be necessary now with the better data point symbols in 2.33)

    • Provide a "canned" ploticus freetype build (executables) for linux (requires static freetype2 lib(s)

    • Right-to-left font support for languages such as Arabic, Hebrew, for ploticus freetype, SVG, etc. This might be best implemented by someone who can read in one of these languages, to verify correctness.

    • PDF output capability

    • additional prefabs

    • a way to define holidays in config file (similar to omitweekends)

    • facilities to make QQ plots easier

    • the ability to run as a persistent daemon and accept commands via named pipe

    • more 3-D plots and effects

    • XML script syntax option - the plotting procs fit the xml model easily enough but not sure what to do about flow of control operators such as #if or #for .. #endloop.

    • a mechanism similar to catslide that would allow similar minor adjustment of scaled data placement for any type of axis, not just categories.

    • alternative to 0am for displaying "midnight"

    • proc pie option to produce ring graphs





  • data display engine  
    Copyright Steve Grubb


    Ploticus is hosted at http://ploticus.sourceforge.net   Get ploticus data display engine at SourceForge.net. Fast, secure and Free Open Source software downloads


    Markup created by unroff 1.0,    March 11, 2009.