|
Manual page for Release_notes_and_current_issues(PL)
Correspondence: scg@jax.org
Download page
Latest version of this page (ploticus.sourceforge.net)
NEWS: Our official site has moved to greener pastures at
ploticus.sourceforge.net!
Please use that site from now on. The old site (www.sgpr.net) will cease to
exist around June of 2002.
NEWS: Version 2.02 will be the last version to include pltab.
My impression is that it is not very widely used, and
no real development has been done on it for a while now. It has become clear that
other tools (such as HTML tables) are much more useful in creating tabular
graphics and tables. Dropping pltab will streamline the release process as well.
Version 2.02 - Jan __, '02
HTML clickmap (imagemap) support has been added.
The data parsing code has been rewritten, and now allows situations that
weren't allowed before,
such as blank fields (tab or .csv formats), and variable number of fields per row.
The dataformat documentation has also been improved.
new attribute - proc getdata - nfields - Controls
the expected number of fields per record.
new attribute - proc getdata - fieldnamerows -
like fieldnames but allows data field names to be given one per line.
modified attribute - proc getdata - delim -
There is now a distinction between
whitespace delimitation with quoted strings (spacequoted) and
pure whitespace delimitation (whitespace).
whitespace is faster, but the default remains spacequoted
(space for short) so that existing scripts don't break.
More info.
new attribute - proc lineplot - gapmissing - allows missing data
points to cause a gap in the curve. Similar parameter added to lines and chron prefabs.
new attribute - proc scatterplot - clustermethod -
control how duplicate points will be clustered.
new attribute - proc scatterplot - symfield and symrangefield -
allows symbol shape, color, etc. to be controlled by a data field.
new attribute - proc scatterplot - dupsleg
allows symbol shape, color, etc. to be controlled by degree of duplicity
prefabs - added rectangle as a standard parameter.
It controls plotting area size (and location, if rendering in paginated postscript).
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).
Note: this will break any existing applications that use
the lines prefab to render multiple filled curves.
The directory for prefab files can now be
hard-coded at build time, settable in the Makefile. If this is done then users
don't need the PLOTICUS_PREFABS environment variable to be set.
This capability is not available on win32 builds.
a new prefab called draw has been added.
It interprets ploticus draw commands.
some new functions, including $numgroup() and $dategroup()
which are useful in grouping a set of numbers or dates into bins.
the internal name lookup scheme for function names has been changed, and is now a
little more efficient.
fixed bug: proc bars - stacked bars are drawn incorrectly when minima is non-zero.
Eg. stacked vertical bars are incorrect if the plotting area Y min is non-zero.
fixed bug: proc bars - stacked bars - clobber bug causing core dump on linux.
fixed bug: datetime scaling - floating point rounding problem. Came to light when
user tried to autorange on a datetime field and was getting a minima time of 06:59
when it should have been 07:00.
increased the size of file pathname variables from 127 to 255 and doing length checking
on script file and output file name
Version: 2.01 (16 Nov '01)
New features:
- SVG capabilities. The driver was written by Bill Traill.
- The Makefile has been reworked. Before building ploticus you edit the
Makefile and follow a simple 3-step procedure. There are more build variations than before.
- Source code can now be compiled on win32 using mingW and maybe other compilers.
More info.
- postscript - ISO Latin1 encoding added, so that European characters may be produced
in postscript exactly like they are in the other environments (ascii 128-255).
- Created graphic files are automatically chmod'ed to mode 644.
Bug fixes:
- Some code problems related to the new CGI functionality have been cleaned up.
These may have caused problems on some platforms.
- proc getdata filter - data field names within proc getdata filter statements were
not working. Fixed.
- dates - dates earlier than 1977 causing problems with autorange and
probably in other areas. This has been fixed to handle dates back to Jan 1 1800.
- general - most command line args including var=value pairs were being retained in
a 200 character buffer, a problem when command lines are longer. Fixed.
- proc bars - problems with bar labeling when select is used; also clustering should work
with segment bars. Fixed.
Version: 2.00 (18 Sep '01)
This major release introduces
prefabs for creating standard types of plots
directly from the command line,
CGI mode,
and optional JPEG, WBMP, and FreeType2 support.
The script interpreter code has been completely replaced;
a general clean-up pass was applied to all code.
Specific new features:
- Prefabs
- CGI mode
- Optional JPEG, WBMP, and FreeType2 support, however you must link to
your own copy of GD library version 1.84
or higher when you build ploticus, and have the other required libs.
See the Makefile for more info. Thanks to Michael Tonkin for getting the ball rolling on this.
Here's an example that uses a TrueType sans serif font.
- A new script interpreter.
New flow of control operators including:
#elseif #else #for #while #setifnotgiven #call #write #shell, etc.
Also, increased capacities for data fields and variables (250 chars)
and script input lines (3000).
The new interpreter involves some script syntax changes
that may cause existing scripts to break in some cases.
-
General code clean-up and efficiency improvements
(thanks for the suggestions.. who wrote that code, anyway?!).
- #sql, a new directive for retrieving data directly from an SQL database.
This is currently under development,
and user-contributed client interfaces to DBMSs such as MySQL and Oracle would be welcome
(the code is in dbinterface.c)
A number of minor improvements and bug fixes are also present:
- Added: proc areadef autorange - new subattributes
selectrows (for selecting rows to be considered when
scanning for min and max) and combomode (to allow correct finding
of min and max for situations like error bars and stacked bars).
- Added: proc areadef autorange - now sets variables
DATAXMIN, DATAXMAX, DATAYMIN, and DATAYMAX - the actual minima and maxima of data field.
- Added: proc axis - stubevery attribute
- Added: proc getdata - pathname attribute, to specify
data file name directly without involving cat(1)
- Added: proc bars - colorfield attribute - set bar color based on a data field
- Added: proc legendentry - tag attribute
- Added: various new functions
- Added: the temp file default path name and default slash character can now be changed in pl.h
or in a config file.
- Added: resource utilization (cpu time and size of created disk files) now can be controlled.
Default upper limits are 10 cpu seconds and 5,000,000 bytes.
Limits may be altered in pl.h or by using a config file
- Added: various other config file settings
- Changed: proc axis - minor changes to avoid orphan date stubs and improper year placement (autoyears)
- Fixed bug: proc axis - when producing stubs running from negative to positive zero is displayed
as a very tiny non-zero value such as 5.2579e-17 due to rounding error.
- Fixed bug: proc getdata - buffer overflow when 'filter' is used with data records longer than 254 chars,
causing garbage result or instability.
- Fixed bug: proc legend - legend entry text could not be adjusted using textdetails \fCadjust=\fR
- Fixed bug: proc bars - select omits bars but not labels. Thanks to Dan Tsafrir for finding this one.
- Fixed bug: $arith() function - detects and issues an error on divide-by-zero.
Ploticus is 2 years old - 25 Aug '01
Release notes for earlier versions
Click here.
- Unless otherwise stated, 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.
Exceptions will be noted prominently in the release notes.
Areas of ongoing development
I can proceed with Ploticus development as my "day job" allows.
Because Ploticus is now covered under GPL, which allows code to
be freely used in other GPL projects, I am posting here the
areas that I hope to get to in the near future, so that other
developers know where I am headed.
Requested features not yet implemented
- categories can come from a data field, but there is no way to select certain rows,
for situations where not all rows apply.
- should be able to automatically use field name headers as legend labels
- the ability to run as a persistent daemon and accept commands via named pipe
- proc axis - when doing tics but no stubs, we need a ticrange attribute to range the tics
- proc lineplot, etc - a way to register labels to automatically avoid collisions
|
 data display engine
Copyright Steve Grubb
|