Comparison of JavaScript charting libraries
There are different JavaScript charting libraries available. Below is a comparison of which features are available in each.
Library Name | License | Free | Supported Chart Types | Supported Bar Chart Types | Other Features | Interactivity | Rendering Technologies | Databinding | HTML 5 Canvas | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Timeline | Scatter | Area | Pie | Donut | Bullet | Radar | Funnel | Gantt | Network | Grouped | Mind Mapping | Stacked | Negative | Discrete | Horizontal | 3D | Legends | Animation | Mouse Over | onClick | HTML5 Canvas | SVG | VML | AxisXY | WebGL rendering | |||
amCharts | Proprietary | Free with a link [1] or commercial[2] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[3] | Yes | No | |||
AnyChart | Proprietary | Free for education and non-profit use.[4] Paid for commercial applications.[5] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | ||
ApexCharts | MIT[6] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | ||||
billboard.js | MIT[7] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | ||
C3.js | MIT[8] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | |||
CanvasJS | Proprietary[9] | Free for Personal, Educational and Non-Commercial Uses | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[10] | No | No | Yes | No | ||
Chartist | WTFPL[11] or MIT[12] | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | No | No | ||||
Chart.js | MIT[13] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | |||
Chart Builder By Livegap | Free | Yes | Yes | No | No | Yes | Yes | Yes | No | Yes | No | No | No | No | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No[14] | No | No | ||||
Charts 4 PHP | Proprietary | Free basic edition[15] | No | No | Yes | Yes | Yes | No | No | No | No | No | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | |||||
Cytoscape.js | MIT[16] | Yes | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No | No | No | No | Yes | Yes | Yes | No | No | Yes | No | |||
D3.js, formerly Protovis[17][18] | BSD-3[19] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[20] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes[21] | No | Yes | No | |||
DHTMLX Charts | GPL[22] | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | No | Yes[23] | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ||||
Dojo Charting, part of Dojo Toolkit | BSD or AFL[24] | Yes | Yes | No | Yes | Yes | Yes | No | No | No | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes[25] | No | ||||
Dygraphs | MIT[26] | Yes | Yes | Yes | No | Yes | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ||||
Echarts | Apache 2.0 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes[27] | No | Yes | Yes | ||
Frappe Charts | MIT | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes | No | No | No | No | Yes | Yes | Yes | No | Yes | No | Yes | No | ||
FusionCharts | Proprietary | Free for personal and non-commercial uses.[28] Paid for commercial applications.[29] | Yes [30] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes[31] | No | |||||
Google Charts | Free[32] | Yes[32] | Yes | Yes | Yes | Yes | Yes | Yes[33] | No | No | Yes[34] | Yes[35] | Yes | Yes | Yes[36] | Yes[37] | Yes | Yes[38] | Yes | Yes | Yes | Yes[39] | Yes | Yes[40] | Yes[40] | Yes[41] | No | ||
Raphaël | MIT[42] | Yes | Yes | No | Yes | No | Yes | No | No | No | No | No | No | Yes | Yes | No | No | Yes | Yes | Yes | No | No | Yes[43] | No | No | ||||
Greylock | Apache 2.0[44] | Yes | Yes | No | No | No | Yes | Yes | No | No | Yes | No | No | No | No | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No | ||||
Highcharts, Highstock | Proprietary | Free for personal and non-commercial uses.[45] Paid for commercial applications.[46] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[47] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ||
JenScript | BSD-3[48] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No[49] | Yes | No | Yes | No | |||
jqxChart, part of JQWidgets | Proprietary | Free with a link [50] or commercial[51] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | |||
JSCharting | Proprietary[52] | Free with branding [53] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes | No | No | |||
KoolChart | Proprietary | Free with a link [54] or commercial[55] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[56] | No | Yes | Yes | No | ||
LightningChart JS | Proprietary | Free for personal and non-commercial uses.[57] Paid for commercial applications.[58] | Yes [59] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes | Yes | |||
MuzeJS | MIT[60] | Yes | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | ||||
Pizza Amore | MIT | Yes | Yes | No | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | Yes | No | No | |||
plotly.js | MIT[61] | Yes | Yes | Yes[62] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | via Python[63] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes[64] | No | Yes | |||
PlusCharts | Free | Yes | Yes | No | No | Yes | Yes | No | No | No | No | No | No | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No | ||||
RGraph | MIT[65] | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |||
SciChart.js | Proprietary | Free personal and non-commercial uses.[66] Paid for commercial applications.[67] | Yes [68] | No | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | |
Shield UI | Proprietary | Non-commercial or commercial[69] | No | Yes | Yes | Yes | Yes | No | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes[70] | No | |||||
TeeChart JS | MIT[71] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |||
VisJS - used in d3-graphviz | Apache 2.0 and MIT[72] | Yes | Yes[73] | Yes[74] | Yes[75] | Yes[76] | No | No | No | No | No | Yes[77] | Yes[78] | Yes | Yes | Yes | No | No | Yes[79] | Yes | Yes | Yes | Yes | No | No | No | |||
Vizzu | Apache 2.0[80] | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | |
Webix JS Charts, part of Webix | GPL[81] | Yes | Yes[82] | No | Yes[83] | Yes[84] | Yes[85] | Yes[85] | No | Yes[86] | No | No | No | Yes[87] | Yes[88] | Yes | No | Yes[88] | Yes [89] | Yes [90] | Yes [91] | Yes | No | Yes | Yes | No
| |||
ZingChart | Proprietary | Free with a link [92] or commercial[93] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[94] | Yes | No | ||||
ZoomCharts | Proprietary | Non-commercial or commercial[95] | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[96] | Yes | No | No | ||||
Syncfusion JS Charts | MIT | Free for education and non-profit use. Paid for commercial applications. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
See also
References
- ^ "Download - amCharts".
- ^ "Licenses Explained - amCharts".
- ^ We use SVG (Scalable Vector Graphics) to render the charts., retrieved April 10, 2014
- ^ "AnyChart - Education / Non-profit licensing". AnyChart.
- ^ "Buy - AnyChart - JavaScript Charts designed to be embedded and integrated". AnyChart.
- ^ "ApexCharts.js - Open-source Interactive Charts for web". ApexCharts.
- ^ "billboard.js - Re-usable, easy interface JavaScript chart library, based on D3 v4+". naver.github.io/billboard.js.
- ^ "C3.js - D3-based reusable chart library". c3js.org.
- ^ "CanvasJS Chart & StockChart License Pricing". CanvasJS.
- ^ HTML5 Canvas based on code inspection, retrieved April 10, 2014
- ^ "gionkunz/chartist-js". GitHub.
- ^ "gionkunz/chartist-js". GitHub.
- ^ "Chart.js - Documentation". www.chartjs.org.
- ^ Using ... SVG, xCharts are designed to be dynamic..., archived from the original on April 8, 2014, retrieved April 8, 2014
- ^ "Download". 21 February 2015.
- ^ "cytoscape/cytoscape.js". GitHub.
- ^ Protovis is no longer under active development., retrieved April 8, 2014
- ^ For Protovis Users, archived from the original on August 6, 2012, retrieved April 8, 2014
- ^ "d3/d3". GitHub.
- ^ "networkD3". Christophergandrud.github.io. 2017-03-18. Retrieved 2018-07-20.
- ^ D3 helps you bring data to life using HTML, SVG and CSS., retrieved April 10, 2014
- ^ "JavaScript/HTML5 Charts Library - dhtmlxChart". www.dhtmlx.com.
- ^ "JavaScript Gantt Chart Library - dhtmlxGantt". www.dhtmlx.com.
- ^ "Dojo Toolkit". dojotoolkit.org.
- ^ As of Dojo 1.8, the following native vector graphics engine adaptations are implemented, retrieved April 10, 2014
- ^ "dygraphs". Dygraphs.com. Retrieved 2018-07-20.
- ^ "Documentation - Apache ECharts". echarts.apache.org. Retrieved 2021-04-01.
- ^ "Download FusionCharts Suite XT Personal License". www.fusioncharts.com.
- ^ "Buy - FusionCharts". www.fusioncharts.com.
- ^ "Fusion Chart Product", www.fusioncharts.com, retrieved 27 July 2018
- ^ JavaScript (HTML5) Charts using SVG and VML, archived from the original on April 9, 2014, retrieved April 10, 2014
- ^ a b "Google Charts is a free service".
- ^ "Visualization: Pie Chart | Charts".
- ^ "Gantt Charts - Charts - Google Developers". Google Developers.
- ^ "Gantt Charts".
- ^ "Visualization: Column Chart | Charts".
- ^ "Bar Charts".
- ^ the 'bars' config helps creating bars of either horizontal or vertical
- ^ use the 'select' event
- ^ a b Charts are rendered using HTML5/SVG technology to provide cross-browser compatibility (including VML for older IE versions), retrieved August 19, 2018
- ^ "Controls and Dashboards | Charts".
- ^ "The MIT License". Archived from the original on 2014-02-17. Retrieved 2014-04-07.
- ^ "What's the difference between Raphael and gRaphael?". Stack Overflow.
- ^ "Datamart/Greylock". GitHub. 23 Mar 2015.
- ^ "FAQ". shop.highsoft.com.
- ^ "FAQ". shop.highsoft.com.
- ^ "3D column - Highcharts". www.highcharts.com.
- ^ "sjanaud/jenscript". GitHub. 13 February 2018.
- ^ JenScript Javascript HTML5/SVG Charts Framework., retrieved January 31, 2015
- ^ "Search | com.com". Jqwidgets.com.com. Retrieved 2018-07-20.[permanent dead link]
- ^ "License - Javascript, HTML5, jQuery Widgets". www.jqwidgets.com.
- ^ "JSCharting Licensing and Purchase". JSCharting.
- ^ "JSCharting Licensing and Orders". www.jscharting.com.
- ^ "Download JavaScript Data Visualization Software - KoolChart". www.koolchart.com.
- ^ "Buy and License - KoolChart". www.koolchart.com.
- ^ KoolChart is a pure JavaScript charting library, which is implemented using HTML5 Canvas., archived from the original on November 5, 2014, retrieved November 5, 2014
- ^ "Download free Community License of LightningChart JS for your non-commercial web site or studies". www.arction.com. 20 December 2018.
- ^ "Buy - LightningChart JS". www.arction.com. 24 February 2020.
- ^ "LightningChart JS Product page", www.arction.com, retrieved 23 September 2019
- ^ "chartshq/muze". GitHub. Retrieved 2018-10-25.
- ^ plotly is free and open source, available under the MIT license., retrieved November 17, 2015
- ^ "Time Series".
- ^ "Network graph made with Python | line chart made by Priyatharsan | plotly". chart-studio.plotly.com. Retrieved 2021-08-05.
- ^ Code inspection on several Plotly gallery examples revealed use of SVG., retrieved April 10, 2014
- ^ RGraph is Free and Open Source Software using the MIT license, retrieved December 23, 2016
- ^ "Free community License of SciChart.js". www.scichart.com. 7 November 2023.
- ^ "SciChart JavaScript Charts". www.scichart.com. 10 November 2020.
- ^ "SciChart.js Product page", www.scichart.com, retrieved 10 November 2020
- ^ "End User License Agreement". Shield UI. Retrieved 2018-07-20.
- ^ Shield UI charting uses the following technologies to automatically provide broad browser support: SVG and VML., retrieved April 8, 2014
- ^ "Steema/TeeChartJS". GitHub. 20 May 2020.
- ^ "almende/vis". GitHub. 22 September 2022.
- ^ "Graph2d - Interpolation". visjs.org. Archived from the original on 2016-11-29. Retrieved 2017-01-31.
- ^ "Timeline - Background areas with groups". visjs.org. Archived from the original on 2016-12-24. Retrieved 2017-01-31.
- ^ "Graph2d - Scatterplot". visjs.org. Archived from the original on 2016-11-20. Retrieved 2017-01-31.
- ^ "Graph2d - Shading Example". visjs.org. Archived from the original on 2017-01-23. Retrieved 2017-01-31.
- ^ "Timeline - Nested Groups example". visjs.org. Archived from the original on 2017-02-23. Retrieved 2017-01-31.
- ^ "Network Examples". visjs.org.
- ^ "Graph3d Examples". visjs.org.
- ^ "Vizzu - Library for animated data visualizations and data stories". github.com/vizzuhq/vizzu-lib. 24 September 2022.
- ^ "JavaScript Charts UI Widget - Webix JS Charts". webix.com.
- ^ "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ a b "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ "Grouping Data Items of Guides, Managing Data in a Component Webix Docs". docs.webix.com.
- ^ a b "Chart Types - Webix chart types documentation: overview and usage. Webix Docs". docs.webix.com.
- ^ "Setting Legend for a Chart of UI Widgets, Chart Webix Docs". docs.webix.com.
- ^ "MouseEvents of API Reference, Mixins Webix Docs". docs.webix.com.
- ^ "onClick of MouseEvents, Properties Webix Docs". docs.webix.com.
- ^ "JavaScript Chart Library - Try it for Free". www.zingchart.com.
- ^ "Commercial JavaScript Charts - Licensing Options". www.zingchart.com.
- ^ Our charting library renders in HTML5 (canvas), SVG, and Image (VML and Flash too), retrieved April 8, 2014
- ^ "Pricing - JavaScript charts library - ZoomCharts". zoomcharts.com.
- ^ We use JavaScript and Canvas to render ZoomCharts., retrieved April 8, 2014