The Ploticus WikiPlugin passes all its arguments to the ploticus binary and displays the result as PNG, GIF, EPS, SVG, SVGZ or SWF. Ploticus is a free, GPL, non-interactive software package for producing plots, charts, and graphics from data. See http://ploticus.sourceforge.net/doc/welcome.html
Ploticus uses a cache expire date of days.
Usage
<?plugin Ploticus device||=png [ploticus options...] multiline ploticus script ... ?>
or without any script: (not tested)
<?plugin Ploticus -prefab vbars data=myfile.dat delim=tab y=1 clickmapurl="http://mywiki.url/wiki/?pagename=@2" clickmaplabel="@3" -csmap ?>
TODO: PloticusSql - create intermediate data from SQL. Similar to SqlResult, just in graphic form. For example to produce nice looking pagehit statistics or ratings statistics. Ploticus has its own sql support within #getproc data, but this would expose security information.
Plugin Arguments
device: | gif, png, jpeg, svg, svgz, eps, swf. Any -T parameter supported by ploticus. Default: png |
---|---|
data: | optionally add data by <!plugin-list !> pagelist plugins. See Help:WikiPlugin |
alt: | alt text for the image |
-prefab: | use the given prefab script (may need PLOTICUS_PREFABS) |
-csmap: | If a clickable map should be produced (not yet tested) passed to ploticus as -csmap -mapfile $tempfile.map |
help: | Show a help screen |
All other arguments are used as source to ploticus.
Known Problems
- For windows you need either a gd library with GIF support or a ploticus with PNG support. This comes only with the cygwin build so far.
Optional Configuration
- config.ini
- PLOTICUS_EXE = pl.exe (on windows) PLOTICUS_EXE = /usr/local/bin/pl (elsewhere)
prefabs need the environment variable PLOTICUS_PREFABS. Default: /usr/share/ploticus. Maybe also set by the config variable PLOTICUS_PREFABS.
See also WikiPluginCached options in config.ini.
Examples
Plugin Ploticus failed. sh: /usr/local/bin/pl: not foundThe pie chart above was produced by this code from the ploticus testsuite:
<?plugin Ploticus device||=png alt="Sample Pie Chart" #proc page #if @DEVICE in gif,png scale: 0.7 #endif // specify data using {proc getdata} #proc getdata data: Brazil 22 Columbia 17 "Costa Rica" 22 Guatemala 3 Honduras 12 Mexico 14 Nicaragua 28 Belize 9 United\nStates 21 Canada 8 // render the pie graph using {proc pie} #proc pie firstslice: 90 explode: .2 0 0 0 0 .2 0 datafield: 2 labelfield: 1 labelmode: line+label center: 4 4 radius: 2 colors: yellow pink pink pink pink yellow pink labelfarout: 1.05 ?>