Voting starts in March for the Drupal Association Board election.
- About charting modules
- Charting wrapper modules
- Native charting modules
- Other charting modules
- Supported Drupal versions
- Supported Charting Libraries
- Available integrations
- Issue Queue Statistics
- Maintenance Scorecards
- Charting Modules Discussions
- Contribute to this comparison
Charts can help you visualize vast amounts of data in a way that is easily understood. Similar to the saying "A picture is worth more than 1000 words," one may say "A chart is worth more than 1.000 reports" ...
About charting modules
There are a variety of modules that facilitate the creation of charts. When it comes to charting in Drupal, the saying "There's a module for it" doesn't really apply. In this case, it's more accurate to say, "There are plenty of modules for it" ...
These modules support for various charting libraries that may be desirable based on a site's desired appearance, feature-set, and licensing needs.
Warning: The names and/or namespaces of some of the modules, in combination with the various charting libraries they support, can be very confusing! Furthermore, it can be difficult to keep track of which charting module depends on another charting module, or which one is still supported. For anyone getting scared, help might be on the way in the form of...
Charting wrapper modules
Charting wrapper modules are modules that support the creation of charts, but which depend on at least 1 native charting module, further explained below, to produce such charts.
Below is a list of charting wrapper modules:
- Rate provides flexible voting widgets for nodes and comments. Optionally it displays the vote results in a chart if the Chart module is available.
- Google Analytics Reporting provides graphical reporting of a site's tracking data. Graphical reports include a dashboard widget for administrators, a small path-based report in blocks, and a full path-based report. It currently uses the Chart module, though the next release will switch to using the Charts module.
- The Quiz Stats submodule of Quiz (used to create graded assessments) provides charts using the Charts module.
- The Yandex.Metrics Reports submodule of Yandex.Metrics integrates a website with the Yandex.Metrica, which is an alternative to Google Analytics. It provides charts using the Charts module.
- The Advertisement module is a powerful advertising system with basic graphical reports created using the Chart module.
- Commerce Reporting provides a reporting system for Drupal Commerce via an advanced reports dashboard using the Charts module.
- Support Ticketing System provides a basic ticketing system and helpdesk that is native to Drupal. Optionally it generates basic charts from ticket statistics if the Chart module is available.
- Search Log generates charts (some nice eye-candy ...) if the Chart module is available.
- Quant (beta version only for D7, and a D6 version) provides an engine for producing quantitative, time-based analytics for virtually any Drupal component. It takes raw data about normal Drupal actions, such as node creation, and plots the activity over time, with the selected time being configurable. It uses the Chart module.
- Webform Chart displays webform results in a graphical manner using either the Chart or Charts module.
- Webform Charts (beta version only), not to be confused with Webform Chart, integrates the Webform module with the Charts module. It integrates with the "Analysis" tab of a Webform to provide charts for each individual component's analytical data.
- Drupal Remote Dashboard monitors and manages any number of Drupal installations at once. Optionally the monitoring data will be made visible in graphs if the Chart module is available.
- Poll Chart Block displays poll's results in a block, with a selectable chart type, and using the Chart module.
- Bugzilla Dashboard (D6 release only) sets up a Bugzilla query to run over a set period of time, at a given frequency, and pick up on specific data to display in a chart.
- CSV Chart, which only has a D5 version for now, though recently and were announced.
- The Views Chart Tools module (dev version only) integrates the advanced features of the interactive HTML5 charts of the Google Chart Tools API with the query building abilities of views. It uses view results to render interactive visualizations containing multiple charts and controls and depends on the Google Chart Tools for Drupal module.
- The Statistics Pro module, which creates statistics with aggregated data. The data is stored in a new table, which is updated with a cron run. It provides statistical results of nodes, comments and users. When specific modules are enabled, it enables specific features which depend one those modules, such as page visualization reports and graphs.
- Views Charts (dev version only for D7, and a D6 version, which requires Views GroupBy), not to be confused with Views Chart Tools, provides a "charts" style output for Views to render the result-set not just as text (list, tabular) but as a PieChart, BarChart, ScatterPlot etc. It has basic usage instructions available as Advanced Help pages. Install and enable it to see the available help. A great presentation about it was done during DC DrupalCon '09.
- The Charts and Graphs Flot module, which adds Flot support for the Charts and Graphs module using the Flot module.
The table below contains an overview of charting wrapper modules and their dependencies upon any of the native charting modules:
|Google Analytics Reporting||-||-||(D6)||(D7)||-||-|
|Support Ticketing System||-||-||-||-||-|
|Drupal Remote Dashboard||-||-||-||-||-|
|Poll Chart Block||-||-||-||-||-|
|Views Chart Tools||-||-||-||-||-|
|Charts and Graphs Flot||-||-||-||-|
Native charting modules
Native charting modules are modules that support the creation of charts, but which do not depend on other modules to produce such charts. These modules may depend on other Drupal modules (e.g. the libraries module), but these other modules are not related to the charting features they offer. Typically these native charting modules use one or more charting related libraries.
Below is a list of native charting modules, for which at least 1 official release exist:
- Forena Reports facilitates the creation of charts by using the SVG Graph library. Forena does not depend on Views for creating charts, however it can be used as an extra views style plugin.
- Google Chart Tools provides a simple API to build interactive SVG charts, using the Google Chart Tools.
- Google Chart Tools: Image Charts currently only supports the deprecated Google Chart Tools: Image Charts, which is deprecated as of April 20, 2015. Though , and are about addressing that. It is the most commonly used charting module today (over 25K reported installs, which is more then double of all other native charting modules together).
- Charts (not to be confused with the charting module with namespace chart !!!) provides an API that can be used as a stand-alone API, and the integration with Views supports building charts with no coding.
- Charts and Graphs, which is an API for developers. It can be extended by third-party modules that want to add their own charting implementations. It does nothing by itself. It should only be installed if some other module requires it. Views Charts is one of the modules using it, while is a forena feature request to also consider using it.
- Flot provides an API and views integration for using the flot graphing library.
Some additional native charting modules, but for which no official release exists yet:
- Data Visualization API (beta version only), which allows site builders to create, import & store data visualizations as entities and their data as standardized JSON. A user can then choose which installed data visualization library to use when rendering each data visualization entity.
- HighchartTable (beta version only) transforms any HTML table on a site into a Highchart by clicking on the cogwheel above it. It doesn't matter whether that table was created through Views, Webform or a WYSIWYG. One click and you have a chart on your page. Easy install of the JS libraries too through Drush with Features support via Strongarm.
- D3 creates visualizations as libraries (alpha version only) which allows one to add/remove visualizations, share them between modules, and integrate them with (for example: views) through library .info files.
- Highcharts (alpha version only), to create charts using the Highcharts JS library.
- Visualization API (alpha version only), which provides a theme hook that takes a data array and some options and will then render a chart in-place. It also provides a Views display plugin to visualize data retrieved through Views.
- Google Chart Tools for Drupal (dev version only), not to be confused with Google Chart Tools !!!). It is a tool for developers to facilitate the use of Google's Chart Tools and its Visualization API within a Drupal site.
Below is an attempt to compare the charting capabilities of the native charting modules, limited to those modules for which at least 1 official release exists.
Other charting modules
Since this comparison was created, new modules related to charting have been discovered. Consequently, they are still missing in this comparison. Here is an attempt to mention a few:
- Views Dataviz with Google Charts API, which provides data visualisation for views.
- Comment #9 in contains another list of (about 10) modules not included here. Anybody interested in getting the missing ones added here (in a similar format like being used here)?
- JpGraph is a PHP library providing a simple loader for that library.
- Forum Stats provides statistics on forum usage, using the Highcharts library.
- Chartbeat provides third party integration with Chartbeat, for real-time site monitoring statistics.
- ... (Which other ones should be mentioned here?).
Check out the links to those modules for more details. Better still, if you're familiar with any of these modules, get them added to the comparison here by editing this page. Adding an extra column to the right is probably the easiest approach.
Here are some other topics (not included in the comparisons below) that seem worth addressing:
- Drush support (Yes or No).
- Supported Views versions (2, 3 or both).
- Advanced help support (Yes or No).
- Features support (Yes or No).
Anybody interested in investigating any of these topics, and adding them to the comparison here (by editing this page)? If not, George (the one Dries talked about at DrupalCon Amsterdam 2014) will hopefully do it ... someday.
Supported Drupal versions
|Drupal 8 support||DEV||?||#2139771||#2140651||?||?|
|Drupal 7 support||
|Drupal 6 support|
Supported Charting Libraries
|export chart to PDF||#1899032||?||?||?||?|
|export chart to SVG||?||?||?||?||?||?|
|export chart to jpg||?||?||?||?||?||?|
|export chart to png||?||?||?||?||?||?|
Issue Queue Statistics
|Unresolved Issues /
Special Request: Seems like transforming the tabular format above in a corresponding CHART can be done via HighchartTable, but how to get this module enabled on drupal.org? As an alternative: add a row to the table with links to such chart for each of the modules, maybe with some details about the required steps to create these charts?
contains a list of 23 criteria (=28-5) that might help to evaluate the maintenance and support of contributed modules. Below is an attempt to apply those criteria to each of the native charting modules, however with some minor variations / interpretations to provide more accurate details.
Tip: some of the and icons are hyperlinked, such as the ones for (7) .
|(1) No open bugs +1 year||?||?||?||?||?||?|
|(2) No RTBC'd items +1 month||?||?||?||?||?||?|
|(3) Stable release every year||?||?||?||?||?||?|
|(4) Last commits (*1*)||Feb 11,
|(7) Community docu|
|(8) Alpha / Beta duration||?||?||?||?||?||?|
|(9) Recommended release present||?||?||?||?||?||?|
|(11) Support 2 core releases (*2*)||?||?||?||?||?||?|
|(12) DEV release for D8||?||?||?||?||?||?|
|(14) Maint- and Dev-status||?||?||?||?||?||?|
|(15) Image on project page||?||?||?||?||?||?|
|(16) SimpleTests or Unit Tests||?||?||?||?||?||?|
|(17) Meaningful release notes||?||?||?||?||?||?|
|(18) Automated testing enabled||?||?||?||?||?||?|
|(19) README.txt & INSTALL.txt||?||?||?||?||?||?|
|(23) Project's purpose teaser||?||?||?||?||?||?|
|(24) Project description +500 chars||?||?||?||?||?||?|
|(25) Headings & docu links||?||?||?||?||?||?|
/ installs ratio
|(27) Translations available||?||?||?||?||?||?|
|(28) Contributing users in commits||?||?||?||?||?||?|
- (*1*): Variation of 'If there are open bugs, see that there is activity in git every 6 months'.
- (*2*): Refer to Supported Drupal versions for more detailed info.
If you want to help completing or correcting the above criteria,
it's fairly easy, just a lot of work to do all the research. So please ... do so now
Charting Modules Discussions
- Another comparison about charting modules ... A group with related visualisation topics also.
- History keeps repeating.
- Charting and Graphing Modules.
Contribute to this comparison
The comparison above reflects Drupal developments up until early 2015. It may become incomplete or outdated (e.g. because of recent evolutions in any of these modules), and it contains some "?" marks to indicate missing information. Hopefully there are no errors in it!
If you want to help to extend, enhance, complete or correct it, please ... do so now