This guest blog features a JQPlot description & general answers, by his creator Chris Leonello, and a word about Timo
Screenshot of the new Graphs
What is jqPlot?
The decision was made to create a new jQuery based plugin and jqPlot was born. In an effort to give back to the community which made jqPlot possible, jqPlot was created as an open source project.
What is canvas?
jqPlot Browser support
The canvas tag and jqPlot work well on most browsers. All canvas features used by jqPlot are supported on Firefox 3.5+, Safari 4+, Chrome 8.0+, Opera 10+ and IE 9+. IE 6 – 8 are supported through Google’s excanvas.js library. On mobile, canvas is supported by iOS Safari 3.2+, Android Browser 2.1+ and Opera Mobile 10.0+.
jqPlot in active development
The project has grown to include 597 members on the mailing list. jqPlot source code on the issue tracker are on bitbucket. Of over 55,000 projects on bitbucket, jqPlot ranks 35th in number of followers, 31st in number of forks and has been downloaded 80,000 times. While jqplot is developed primarily by Chris, many members of the community have helped improve it.
Matomo (Piwik) contributions in jqPlot
Timo Besenreuther, of the Matomo (Piwik) development team, made significant contributions which helped to greatly improve memory performance. Timo refactored the code to reuse canvas elements instead of recreating them. Timo’s enhancements are especially noticeable during rapid plot redrawing, such as while dynamically resizing a chart.
In true open source fashion, Timo forked jqPlot to develop the improvements. These were then merged back into the main jqPlot code. His fork has been merged in the main jqPlot trunk! He also built extra plugins such as easy to read Pie chart legends and Canvas Export as Image.
The Matomo (Piwik) Development Team also created specific use cases that were key in tracking down jqPlot DOM memory leaks.All in all, the Matomo/jqPlot relationship has led to what are probably the most significant improvements in core jqPlot performance. Good job Matomo Dev Team!
Future of jqPlot
jqPlot is currently in beta on it’s way to a 1.0 release. Further post 1.0 enhancements under investigation include tweaks for mobile devices and more axes features. In the long term, changes may include a significant overhaul of the core code for improved dynamic response and efficiency, a clean up of internal data structures, a more unified API and streamlined build process.
— Chris Leonello
Matomo (Piwik) innovation
Matomo (Piwik) team members and contributors are open source enthusiasts, and it is always a pleasure for us to use latest open source technologies and get a chance to contribute to some of the projects we depend on.
For early birds, enjoy the 1.5 RC release
Consider using jqPlot (see demo) when you need to draw charts,