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

  1. 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 found

The 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
?>

Author

PhpWiki:ReiniUrban

See Also

Help:GraphVizPlugin


PhpWikiDocumentation Help:WikiPlugin