There are several ways to make even a simple pie chart. And some more libs are considered for integration. Usually, the Tiki community converges / concentrates its efforts on a small number of powerful tools. If there is duplication, it's because one approach is easy / out-of-the-box, and another is very powerful (ex.: PluginCustomSearch vs PluginTrackerFilter) This page is to discuss / debate the ideal roadmap.
- What to integrate
- What to use for what use case
- What to deprecate
Here is related discussion on the Tiki developer mailing list: https://tiki.org/forumthread62514
Contents of this page:
The major options are R, Kibana, plotly.js, D3.js and Chart.js
- Already well developed within the Tiki ecosystem: https://r.tiki.org/
- It's more than just charts: it can do dashboards, complex tables, calculations, htmlwidgets, book creation, markdown conversion, etc.
- it has exponential growth of packages: plot.ly, many d3 wrappers, scientific data from/for any discipline, ...
- Adds a dependency
- Does not run on shared hosting
- Tightly integrated with Elasticsearch (which is well integrated with Tiki)
- It's more than just charts: it's a dashboard builder
- We'll soon have a secure and easy way to install and manage Kibana on ClearOS: http://wikisuite.org/How-to-install-Kibana-on-ClearOS
- Relies on Elasticsearch
- Does not run on shared hosting
- Missing some charts already requested in some projects like boxplots.
- Uses D3.js
- There is a companion Dashboard creator: https://github.com/plotly/dashboards.ly
- Tons of examples on the community site
- Very active project
- A new connector for http://help.plot.ly/database-connectors/elasticsearch/
- Now on Packagist: https://packagist.org/packages/plotly/plotly.js Thanks to Marc)
- Generated charts are printable by mPDF
- Very powerful
- On Packagist: https://packagist.org/packages/mbostock/d3
- runs on shared hosting
Uses Canvas (and not SVG)
- Nice UI
- Work started in Tiki -> https://doc.tiki.org/PluginChartJS
- On Packagist: https://packagist.org/packages/nnnick/chartjs
- Runs on shared hosting
- Very active and popular project
- Current integration doesn't permit use of existing reports like PluginList) -> https://doc.tiki.org/PluginChartJS
- Only 8 charts: https://github.com/chartjs/Chart.js/tree/master/docs
Shouldn't we improve the current charting and visualization capabilities the we (more-or-less) have already in Tiki?
They use raphael.js (http://dmitrybaranovskiy.github.io/raphael/), but some love is needed to fix some chart display & usability bugs. They look like "low hanging fruit" to some of us, specially for the basic needs of fairly simple charts, and PluginChart is indeed needed to work again to visualize those charts from tiki spreadsheets, and ideally, charts from any new lib intergrated (besides, or instead, of raphael.js in tiki spreadsheets).
Slides available: https://goo.gl/77dwl5
The two realistic contenders for charts in Tiki, without an external dependency (like R) are:
|Can be included in mPDF||Already done for raster image export (native pdf export isn't in the OSS version )||Would work with same solution as for newsletters|
(plotly-latest.min.js is 760k)
| lightweight |
(vendor_bundled/vendor/chartjs/Chart.js/Chart.min.js is 150k)
|Diversity of charts||Most||Good|
|Technology||Built on top of d3.js and stack.gl||Canvas|
Note that in both case, using them server side is pretty heavy, might be an issue on shared hosting.
Alias names for this page: