News >
Release notes for earlier versions |
Version 2.41 (May 2009) – new features:
- New proc: proc pvalue for computing pvalues associated with t-test.
|
|
- proc scatterplot - new attribute colorfield allows you to control data point color directly
from a data field (not involving the legend-driven technique).
- proc areadef - new attributes clickmapadjust for tweaking the overall position of grid clickmap,
and catbinsadjust useful in setting up a plotting area with categories that are slid -0.5.
- proc print - new variable that is set called FOUNDROW, which lets you determine which data row contains
a given value, then pass the row number to the $datarow() function
- proc catlines - column bars
- category names having embedded whitespace can now be used for positioning (use underscores in the location spec)
- prefabs - new parameters xgridskip, ygridskip, xgridblocks, ygridblocks, firststub, laststub
2.41 bug fixes
Thanks to all those who reported and/or supplied fixes for these bugs...
- C coding issue - string pointer comparisons, was ok on gcc but failed on sun C compiler and others
- clickmap - double url encoding bug
- tokncpy() fix affecting win32 builds
- proc processdata action: breaks not setting NRECORDS to 0 on eof
- proc processdata - result field names are set later, allowing current field names to be used in select statements
- on clickmap tags, alt= attribute added so that output passes xml validation
- numgroup() function - contributed bugfix installed
- datetime stubs - seconds were incorrect
- clickmap urlencoding - spaces are now urlencoded to %20 (previously was +)
- direct pixel data points are now influenced by -scale
- proc catlines able to function with just one subcat (use to require at least two)
- instability related to field name headers, getfname()
- memory leak in grgd.c, Gptlist
- date stubs dislaying garbage when given unrecognized date format string
- lineplot XFINAL was incorrect
Version 2.40 (Jan 2008) New features:
- A revision pass was done affecting all script and attribute parsing, with the goal of
eliminating attribute length restrictions where possible, and reducing string copy operations.
-
proc catlines
-
proc tree
- proc getdata ... data sets using the bar character (|) as field delimiter are now supported.
Also, there's now delim: auto which tries to automatically determine data field delimitation.
- proc processdata ... new actions: summary, summaryplus, raccum ... new attributes binsize, binmod
- proc boxplot (formerly proc rangebar) ... functionality change.. it now produces a
set of boxplots in a similar way to how other procs (such as proc bars) operate. Any existing scripts using proc rangebar
will require attention.
- new pl(1) command line options
-pixsize (to set exact size of result image in pixels), and
-cputime (to set cputime resource limit). As usual these have equivalent settings in
proc page and/or proc settings
- axis autorange now supports the following: nearest=Nminute nearest=second nearest=Nsecond
- proc image (formerly called proc import)...
gifs can be imported. Images can now be incorporated into SVG plot results. Clickmap support.
- symboldetails ... imgfile, imgwidth, imgheight
- color ... color specifications using notation such as xFEDCBA now supported
- Slanted axis stubs are now supported. See proc axis stubvert parameter
- A number of other new attributes that are specialized or of minor interest
2.40 Bug fixes
- bug related to legend-driven bar graphing
- direct pixel data points inherit current line dashing .. symboldetails needs to set linetype to plain
- segfault occuring after error 12040 "DISPLAY=" ?
- svg compile and swf segfault bugs
- proc getdata - recent fix related to #field names and #data fields needs to take filters into account
- proc categories - when cats specified literally, trailing whitespace is taken as part of category
- proc image segfaults with -x11
- proc lineplot - gapmissing autozero not working right
- segfault when -csmap is used with long urls
- proc processdata MIN, MAX - not affected by 'resultformat' but should be
- First x stub is a little higher than the others
- gd color bug when degenerate data row encountered [color change bug - lineplot gapmissing and fill options]
- prefab chunk_title - align= was giving backward results
- proc bars - segments - code bug demonstrated by gallery/timeline2.htm
- proc bars - instability related to color change optimization (wild draw location)
- prefab cumufrac - no curve produced for certain input data (see msg 1974)
- clickmap - the clickmap entries for plot elements sitting on top of a clickmap grid are written too late
in the map and mouse doesn't respond. For gif/png/jpg imagemaps, need to write map entires in this order:
1) plot element regions 2) xy grid regions 3) single-dimention grid regions. (svg uses the opposite order)
- scripts having embedded CSV data (w rows > 255) can break script processor causing instability.
- proc annotate instability on filled rectangle draw caused by unitialized bd* vars
- proc curvefit - xfield was required, but doesn't need to be
- legend - repeated use of legends eventually gives "Sorry, too much legend content" msg
- prefab overlays - each run needs to output a code into the dumpfile that tells pcode to do a graphics init.
Otherwise, run 2 inherits current color (other settings?) left behind by run1
- proc axis - stubround - 1st stub seems to be often omitted even when it is a round value (snps/distplot)
- URL encoding shouldn't encode '.' or other normal punctuation chars..
- floating bars weirdness
- instability when trying to #set a var to length > 334 chars
- instability when supplying a long perl script with #proc getdata commandmr
Ploticus 2.33 (June 2006) New features
- direct pixel data point symbols for gd and x11, to provide sharp non-distorted data points.
In the example below the first two rows use the new direct pixel data points, while the 3rd row shows
the vector-based data points that have always been available.
- proc venndisk - some new attributes to support "vennmag" plots (a series of disks resting on X axis
to compare magnitudes). Here's an example:
- clickmaps - new clickmapurl syntax to allow deployment in a new window, etc. Syntax is like this:
clickmapurl: [target=new]http://abc.com/cgi-bin/...
- SVG - proc settings / config files - svg_linkparms attribute discontinued. Use the new clickmapurl syntax (see above)
- proc axis - stubround attribute - solves the old problem of getting stubs at round number locations when plot
area minima is not at a round location.
- proc lineplot - gapmissing: autozero
- proc bars - new attributes for better control of bar labels: labelmustfit, labelmaxlen, labelselect
- pl command line -ping option
- proc scatterplot - cluster attribute - default will now be 'no'
- prefab scat - new parm ptstyle= filled or outline ..... and changed to use the new direct pixel data point symbols.
2.33 Bug fixes
- clickmap - url encoding is now performed on variable contents and axis values that are substituted into clickmapurls
- proc categories - uniqueness check wasn't applied when categories listed literally. Useful in apps where the list is
generated by another program or whatever.
- improved handling of very long command line args - each arg is silently truncated to 255 chars.
var=value parameters cannot begin with a dash as may have been previously tolerated.
var=value parameters are now intercepted before entering the arg name big decision structure.
- $dategroup() function didn't know about datetime separator characters other than '.'
- issue where the "circuit breaker tripped" message was appearing when autorange is used but no stubs / no tics were being generated
- ploticus api code bug - prefabs were not usable via api
- made adjustments to improve rounding error when axis begins in negative space and reaches zero, zero was shown a very tiny scientific notation number
- proc processdata - percents - resulting data values were written as enclosed in quotes which made them unplottable.
- fixed many compile warnings when building w/ gcc4 -Wall
- drawing to out-of-bounds locations (GD) resulted in huge image.
The pl bounding box was set to a huge rectangle due to a wild draw op..
then the final GD crop operation used the huge bounding box to set the size for the cropped result.
Fixed by limiting final result to 'pagesize'.
- proc bars - longways labels on bars that travel beyond plot area boundary weren't being shown/centered properly.
- in the -scale parameter, if you used -scale 1,2 the scale did not change but -scale 1.01,2 does work.
Fixed- some code was only taking action if x scale != 1.0
- svg - opening <svg> tag didn't have xmlns:xlink parameter (always); font size didn't have "pt" on end (firefox 1.5 / easytimeline)
- proc getdata - instability when there were more field names than available data fields. Fixed - number of field names now sets
the 'nfields' idea of how many fields there are. This only happens when nfields is not explicitly specified.
- scatterplot - short line segments as symbols - no legend entries were appeariing
- proc legend - longer line segments were colliding with other entries in "across" format
- proc rangesweep - instability when bad values encountered in data
- proc annotate - box outline color not being set properly
- proc bars - showvalues - conflict between "backbox" and "labeldetails: color="
- pl -errfile stdout (w/ no other args) gave seg fault
- prefab scat - new maxinpoints= parameter (for curvefit)
- heatmaps - with contentfield= and values 0.0 -> 1.0 .. cutoff table was not automatically created properly.
- prefabs - some prefab parameters cannot be set in a data file.. because they are set
in the prefab script before getting the data. More detailed explaination in docs.
- -tag command line arg wasn't generating the <embed> tag for svg
- scatterplot - heatmap-related cell coloring bug
- draw prefab - win32 issue with dumpfile
- autorange - code bug involving nearest=hours
Ploticus 2.32 (Aug 2005) – New features
- proc legend - support for multi-column or multi-row legends, word wrap for legend entries,
backing box, title, and others. Thanks to Philippe Jalaber and Tobias Minich who suggested some of these features.
Examples
- proc venndisk - new proc for producing venn diagrams.
- textdetails - new linesep attribute to control line spacing.
- mousover/tooltip labels can now be up to 1500 chars. Also any proc that had a clickmaplabel
attribute now also has a clickmaplabeltext multiline attribute. This is to
accomodate chunks of javascript code as used with SVG mouseover/tooltip method #2.
- proc axis - month stub inc with datetime scaletype now supported.
- proc pie - new wraplen attribute to wordwrap pie slice labels
- new function - $rewritenum(f) which takes a numeric quantity f and
returns it rewritten for display purposes, applying numbernotation (as specified in your proc settings
or config file)
- new function - $textwidth(f)
returns horizontal width of FreeType bounding box. Useful only with freetype fonts, otherwise it returns 0.
Suggested/contributed by Erik Zachte.
- autorange - if user doesn't specify numformat, %f is now
automatically used to build result with high magnitude low variance data sets
(such as where the min is 1,000,000 and the max is 1,000,003).
- Prefab parameters for access to some of the new proc legend features; and some other prefab items.
More info
2.32 Bug fixes
- date notations involving dots (such as dd.mm.yy) weren't being handled properly
- gd16.c gcc 4 compile issue (static int cost, static int sint)
- crosshatch lines were too thin w/ svg
- proc bars - with 'truncate', bar completely out of range was suppressed but label still appears
- drawcommands ignored cm units - fixed. Also, mark and cblock now accept posex specifications.
- heatmap prefab - now supports title and related parameters.
- superscripts in X axis stubs showed up on Y axis - fixed
- autorange - now handles degenerate case where all data are 0
- proc vector - instability if start and end points of a vector are same
- proc getdata no longer does a popen( cat filename ) in CGI mode
- strange color change problem - related to certain degenerate lineplots that
don't draw anything. Bug in proc_lineplot.c fixed.
- proc legend width attribute now supports cm
- heatmap prefab - yaxis=none didn't have any effect. Fixed.
- proc pie - with outlinedetails: none the labels and any associated lines disappeared
- proc scatterplot - default clustermethod was horizontal when ylocation given..
and vertical when xlocation given.. seems like it should be the other way round.. so I changed it.
- with datetime (others?) xautorange nearest=exact wasn't working
- command line option -prefab is now disabled when operating in direct cgi mode
- command line option -drawdumpa displayed to x11 but shouldn't
Ploticus 2.31 (Feb 2005) – New features
2.31 Bug fixes
- due to a Makefile problem (pl command only) no imagemap output was produced with
-map or -csmap when producing gif, png, or jpeg. libploticus unaffected.
More info here.
- dates - bug involving incorrect day-of-week computation.
Plots that used omitweekends omitted the wrong days of the week.
- proc curvefit - wasn't discarding input data points where Y component was a non-numeric
(eg. a missing data code).
- very long category names used as axis labels.. some long labels were being omitted on axis..
- autorange - big datafield list using fieldnames, was causing overflow
- arrow color sometimes incorrect - fixed
- in X mode, the yellow [End.] or [more..] button is not affected by -scale
- bounding box incorrect with vertical text when a -scale was set
- proc usedata - was giving error when current data set was the original data set; also made more lenient on the "original" name
- svg - "bad CSS property or descriptor declaration" error - fixed (?)
- font names w/ embedded spaces - these are parsed correctly everywhere (-font, proc page, proc settings, textdetails font=)
but these are problematic with some drivers.. SWF definitely won't handle these.
In a test, GD/Truetype doesn't seem to work with them either. Not sure about SVG.
Ploticus 2.30 (Aug 2004) – New features
- Superscripts and subscripts capability. This is a limited implementation that
works with monospaced fonts such as the default GD fonts, default X11 fonts, or PostScript's /Courier.
In scripts, to ensure backward compatibility, this capability must be turned on using
proc settings enable_suscripts (or in your config file).
Prefabs have superscript/subscript capability turned on by default. More info.
Example.
- -drawdump and -drawdumpa command line options, which allow you to
overlay or combine results from separate pl runs
- this opens up new possibilties when using prefabs, among other things.
The drawdump file can be rendered later in any desired format, using this command:
pl -prefab draw dumpfile=filename
or by using proc drawcommands.
Drawdump capability is available in all builds.
- New proc processdata actions: join / leftjoin / rightjoin,
which perform a join operation (useful for example when doing a scatterplot and you want the X component to
come from certain records in the data set, and the Y component to come from other records); stats,
which examines a field in the current data set and reports the min, max, mean, SD, N (etc.). It does this
by setting ploticus variables, that can be displayed or used to position annotations.
- A new SVG mouseover/javascript scheme which gives better results and
produces SVGs that support mouseover independently (without involving the containing HTML file).
Thanks to Jamie Echlin.
More info. Requires 2 javascript files available here.
- Spaces and commas in data field names - Data field names cannot contain literal spaces or commas, but it is
now possible to encode spaces as _ and commas as |, for situations where the names will be displayed.
This capability must be turned on using proc settings encodenames or
in config file. Example.
- Various prefab-related features
- autorange - new attributes mininit and maxinit - similar to lowfix
and highfix but are overridden by encountered data values that exceed them.
- proc pie - new attribute - labelfmtstring - a more flexible way of building labels
from data field(s).
- proc pie - improvement - labelmode: labelonly - label positioning improved
- proc curvefit - new attribute - clip - allows the generated curve to be clipped
to the plotting area
- proc curvefit - maxmimum number of points in the input data set is now dynamic; size is
controlled by new attribute maxinpoints
- EPS files - the latin1 encoding that was added a year or two ago is now optional.. this can be controlled using
proc settings ps_latin1_encoding attribute.. try this if you're having
problems with ploticus EPS files in other applications.
- proc annotate - new attribute clip, which allows annotation to not
influence the overall bounding box.. may be handy if far-out annotations are just as well ignored.
- color - new notation for specifying colors as hex values xrgb(xxxxxx) or xrgb(xxxxxxxxxxxx).
- new function - $boundingbox() - which allows bounding box tracking
to be turned on or off.. turn off if you want to draw something that shouldn't influence the overall bounding box.
- new function - $squelch_display() - squelching of all drawing activity
can be turned on or off.. turn off if you want to run plotting procs invisibly
- code cleanup to allow config files and proc settings to share
common code for processing the settings
- code cleanup for eliminating spurious color change requests, which apparently can improve performance rather significantly
in some cases. Thanks to Harshula Jayasuriya and colleagues.
- docs - direct cgi mode page overhauled; a new page for select attributes
2.30 - Bug fixes
- proc bars - crossover is now cancelled when set to a value below axis min, or above axis max.
- functions $arith(), $arithl(), $isnumber() now handle numbers in scientific notation. Ditto for
conditional expressions.
- datetime w/ windowing - extra day was being shown, also a spurious warning message was being generated
- datetime w/ windowing - where last stub is AM, should be PM... a workaround is to use eg. laststub: 4PM
- in config file, option: content that requires quotes on the command line (eg. "rectangle= 1 1 4 4")
hadn't been parsed correctly. This is fixed, but quotes should not be used in config file.
- proc getdata now issues an implicit #proc processdata action: breakreset
- Some error messages had been going to the wrong place when -errfile was set on command line
- proc bars - when a crossover is used, one-way error bars need to go the opposite direction for the downward bars
- Noted - the #ifspec operator (used mainly when writing prefab scripts) requires care when intermingling with #clone.
- date arithmetic - a julian dates bug on leap years before 1970 has been fixed.
- proc annotate - clickmap box was way off with textdetails: align=right
- proc annotate - clickmap box (and bounding box) was not being influenced by textdetails: adjust=...
- SVG - the color gray(1) results in black in svg - should result in white.
Ploticus 2.21 (May 2004) – New features
- SVG - text messages on mouseover like done w/ client-side image maps now using overlib or similar.
Here's a working example.
- proc vector can now render error bars and T-bars in arbitrary directions; also vectors can now be rendered
by supplying two data points. Example.
- proc axis - stubhide attribute useful when doing tics but no stubs, allows more control over
tic placement (any of the available stub-related options can be used, and no stubs are rendered).
- proc getdata - commandmr attribute is same as the command attribute
but it accepts a multi-row shell command, terminated with a blank line.
- autorange - numformat parameter which may eliminate problems experienced when working with
very large or very small magnitude data
- proc scatterplot - labelword allows a template to be specified for the labelfield value.
- proc processdata - action: numberrows ... this new action can be used to prepend sequential
numbering to data set rows.
- programmer control over the first portion of all error messages.
Command line arg -errmsgpre. Also may be set within scripts using #proc settings, or
using the $errmsgpre() function.
- proc bars - minlabel attribute may be used to suppress bar labels when value is
below a certain threshold (thanks to Jessika Feustel)
- proc bars - errbarfields now allows one-way positive (upward/leftward) error bars
- proc curvefit - xsort attribute, for forcing an x sort for interpolated curves
- SVG - provide a way to specify target with SVG clickmaps <a xlink:"url" target=targ>
This can be done in proc settings using the new svg_linkparms parameter.
- New date formats - dd-mmm ddmmm
- proc axis - autoyears now works with any date-based increment, and does not require a January
stub to trigger it. Similar improvement for automonths and autoyears
- X11, SWF, GD driver limit of number of points in polygon (or continuous line with SWF) now dynamic (-maxdrawpoints)
- The following error messages silenced, as they can occur during normal operation:
proc legend, no entries exist yet, and
proc getdata warning: no data fields found.
2.21 - Bug fixes
- Fixed bug - proc axis - minorticinc with datetime scaling - inc given in
hours or minutes didn't work
- Fixed bug - select: @sex = m (incorrectly given with one at-sign) caused core dump..
- Fixed bug - legendlabels - size of 120 not long enough when embedded URLs are used. Raised to 256.
- Improvement - heatmap prefab - changed to use 'exact' category matching
- Fixed bug - heatmap prefab - If cutofflist was specified, no plot was produced.
- Improved handling of autorange lowfix=0 but all data negative problem
- Fixed bug involving longwise bar labels problem on stacked bars
- Improvement - proc lineplot - improved handling of degenerate case of NO points in range (anyvalid)
- Fixed bug - proc lineplot - line label is now subject to clipping
- Fixed bug - proc bars - errbarfields - incorrect data field accesses when two values are supplied
- Fixed bug - command line was interpreting arguments like crop.pl as -crop
- Fixed bug - X11 dashed lines - dash pattern was reset at beginning of each segment,
problematic when data points are close together
- Fixed bug - legendentry tag - was sensitive to trailing spaces
- Fixed bug - proc axis - race condition when no stubs and no tics are specified.
|