ChartDirector
Question
Can I add a bar chart to my page using modifiable data in page markup?
Answer
This is a quick hack. I am using the Chart Director package from Advanced Software Engineering. Put the download ChartDirector
directory under pub/ChartDirector
in your pmwiki tree. Then place barchart.phpΔ into your cookbook directory. And finally, edit your config.php
and add:
Markup('chartdir','<include', "/\\(:chartdir\\s*(.*?):\\)/e", "chartDir('$1')"); function commaURLEncode($items) { return implode(",",array_map("urlencode", explode(",",$items))); } function chartDir($opts) { $args = ParseArgs("$opts"); $first=1; foreach ($args as $key => $value) { if ($key == "#") { continue; } if ($first) { $httpParam = "?"; $first=0; } else { $httpParam = $httpParam."&"; } $httpParam = $httpParam.$key."=".commaURLEncode($value); } # Replace localhost with your host. # You may have to locate barchart.php somewhere else depending on your policies. return "http://localhost/pmwiki/cookbook/barchart.php{$httpParam}&d=.png"; }
(:chartdir xaxis=Date yaxis='Millions Packets' title='Network Activty Summary Packets' data=150,147,857,509,598,351,352,566,298,376,327,588,604 x=640 y=480 3d=10 color=#77ee77 startcolor=#449944 labels='Apr 01,Apr 08,Apr 15,Apr 22,Apr 29,May 06,May 13,May 20,May 27,Jun 03,Jun 10,Jun 17,Jun 24':) |
(:chartdir xaxis=Date yaxis='Millions Packets' title='Network Activty Summary Packets' data=150,147,857,509,598,351,352,566,298,376,327,588,604 x=640 y=480 3d=10 color=#77ee77 startcolor=#449944 labels='Apr 01,Apr 08,Apr 15,Apr 22,Apr 29,May 06,May 13,May 20,May 27,Jun 03,Jun 10,Jun 17,Jun 24':) |
If it were enabled on this page, the markup example would show:
Notes
- This recipe was last tested on PmWiki version: pmwiki-2.0.beta37
See Also
Contributors
Comments
See discussion at ChartDirector-Talk