Comparison of JavaScript charting libraries

{{Short description|None}}

There are different JavaScript charting libraries available. Below is a comparison of which features are available in each.

{{sort-under}}

class="wikitable sortable sort-under"
rowspan="2" | Library Name

! rowspan="2" | License

! rowspan="2" | Free

! colspan="13" | Supported Chart Types

! colspan="5" | Supported Bar Chart Types

! colspan="2" | Other Features

! colspan="2" | Interactivity

! colspan="3" | Rendering Technologies

! {{verth|Databinding}}

! {{verth|HTML 5 Canvas}}

{{verth|Line}}

! {{verth|Timeline}}

! {{verth|Scatter}}

! {{verth|Area}}

! {{verth|Pie}}

! {{verth|Donut}}

! {{verth|Bullet}}

! {{verth|Radar}}

! {{verth|Funnel}}

! {{verth|Gantt}}

! {{verth|Network}}

! {{verth|Grouped}}

! {{verth|Mind Mapping}}

! {{verth|Stacked}}

! {{verth|Negative}}

! {{verth|Discrete}}

! {{verth|Horizontal}}

! {{verth|3D}}

! {{verth|Legends}}

! {{verth|Animation}}

! {{verth|Mouse Over}}

! {{verth|onClick}}

! {{verth|HTML5 Canvas}}

! {{verth|SVG}}

! {{verth|VML}}

! {{verth|AxisXY}}

! {{verth|WebGL rendering}}

AnyChart

| {{proprietary}}

| {{yes|Free for education and non-profit use.{{cite web|url=https://www.anychart.com/buy/non-commercial-license/|title=AnyChart - Education / Non-profit licensing|website=AnyChart}} Paid for commercial applications.{{cite web|url=http://www.anychart.com/buy/|title=Buy - AnyChart - JavaScript Charts designed to be embedded and integrated|website=AnyChart}}}}

| {{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}}

Chart.js

| {{free|MIT}}{{cite web|url=http://www.chartjs.org/docs/#notes-license|title=Chart.js - Documentation|website=www.chartjs.org}}

| {{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}}

Cytoscape.js

| {{free|MIT}}{{cite web|url=https://github.com/cytoscape/cytoscape.js/blob/master/LICENSE|title=cytoscape/cytoscape.js|website=GitHub}}

| {{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{{citation |url=https://mbostock.github.io/protovis/ |title=Protovis is no longer under active development. |accessdate=April 8, 2014}}{{citation |url=https://mbostock.github.com/d3/tutorial/protovis.html |title=For Protovis Users |accessdate=April 8, 2014 |archive-date=August 6, 2012 |archive-url=https://web.archive.org/web/20120806072124/http://mbostock.github.com/d3/tutorial/protovis.html |url-status=dead }}

| {{free|BSD-3}}{{cite web|url=https://github.com/mbostock/d3/blob/master/LICENSE|title=d3/d3|website=GitHub}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}{{cite web|url=https://christophergandrud.github.io/networkD3/ |title=networkD3 |publisher=Christophergandrud.github.io |date=2017-03-18 |accessdate=2018-07-20}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}{{citation |url=http://d3js.org/ |title=D3 helps you bring data to life using HTML, SVG and CSS. |accessdate=April 10, 2014}}

| {{no}}

| {{yes}}

| {{no}}

Dojo Charting, part of Dojo Toolkit

| {{free|BSD or AFL}}{{cite web|url=http://dojotoolkit.org/license|title=Dojo Toolkit|website=dojotoolkit.org}}

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

|

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|{{yes}}{{citation|url=http://dojotoolkit.org/reference-guide/1.9/dojox/gfx.html|title=As of Dojo 1.8, the following native vector graphics engine adaptations are implemented|accessdate=April 10, 2014}}

|

| {{no}}

FusionCharts

| {{proprietary}}

| {{yes|Free for personal and non-commercial uses.{{cite web|url=http://www.fusioncharts.com/download/free/|title=Download FusionCharts Suite XT Personal License|website=www.fusioncharts.com}} Paid for commercial applications.{{cite web|url=http://www.fusioncharts.com/buy/|title=Buy - FusionCharts|website=www.fusioncharts.com}}}}

| {{yes}} {{citation |url=https://www.fusioncharts.com/charts/fusioncharts/ |title=Fusion Chart Product|website=www.fusioncharts.com |accessdate=27 July 2018}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{yes}}

| {{yes}}

|

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}{{citation|url=http://www.fusioncharts.com/javascript-charting-comparison/|title=JavaScript (HTML5) Charts using SVG and VML|accessdate=April 10, 2014|archive-url=https://web.archive.org/web/20140409005305/http://www.fusioncharts.com/javascript-charting-comparison/|archive-date=April 9, 2014|url-status=dead}}

|

|

| {{no}}

Google Charts

| {{free}}{{cite web|url=https://developers.google.com/chart/interactive/support|title=Google Charts is a free service.}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}{{Cite web | url=https://developers.google.com/chart/interactive/docs/gallery/piechart#donut | title=Visualization: Pie Chart | Charts}}

| {{no}}

| {{no}}

| {{yes}}{{cite web|url=https://developers.google.com/chart/interactive/docs/gallery/ganttchart|title=Gantt Charts  -  Charts  -  Google Developers|website=Google Developers}}

| {{yes}}{{Cite web | url=https://developers.google.com/chart/interactive/docs/gallery/ganttchart |title = Gantt Charts}}

| {{yes}}

| {{yes}}

|

| {{yes}}{{Cite web | url=https://developers.google.com/chart/interactive/docs/gallery/columnchart#stacked-column-charts |title = Visualization: Column Chart | Charts}}

| {{yes}}{{Cite web | url=https://developers.google.com/chart/interactive/docs/gallery/barchart#stacked-bar-charts |title = Bar Charts}}

| {{yes}}

| {{yes}}{{citation|url=https://developers.google.com/chart/interactive/docs/gallery/barchart#configuration-options|title=the 'bars' config helps creating bars of either horizontal or vertical}}

| {{yes}}

| {{yes}}

|

| {{yes}}

| {{yes}}{{citation|url=https://developers.google.com/chart/interactive/docs/events|title=use the 'select' event}}

| {{yes}}

| {{yes}}{{citation|url=https://developers.google.com/chart/interactive/docs/|title=Charts are rendered using HTML5/SVG technology to provide cross-browser compatibility (including VML for older IE versions)|accessdate=August 19, 2018}}

| {{yes}}

| {{yes}}{{Cite web | url=https://developers.google.com/chart/interactive/docs/gallery/controls | title=Controls and Dashboards | Charts}}

| {{no}}

Raphaël

| {{free|MIT}}{{Cite web |url=http://raphaeljs.com/license.html |title=The MIT License |access-date=2014-04-07 |archive-url=https://web.archive.org/web/20140217223303/http://raphaeljs.com/license.html |archive-date=2014-02-17 |url-status=dead }}

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

|

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}

|

| {{yes}}

|

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}{{cite web|url=https://stackoverflow.com/a/10209955/874824|title=What's the difference between Raphael and gRaphael?|website=Stack Overflow}}

| {{no}}

|

| {{no}}

Highcharts, Highstock

| {{proprietary}}

| {{yes|Free for personal and non-commercial uses.{{cite web|url=https://shop.highsoft.com/faq#Non-Commercial-0|title=FAQ|website=shop.highsoft.com}} Paid for commercial applications.{{cite web|url=https://shop.highsoft.com/faq|title=FAQ|website=shop.highsoft.com}}}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{yes}}{{cite web|url=http://www.highcharts.com/demo/3d-column-interactive|title=3D column - Highcharts|website=www.highcharts.com}}

| {{Yes}}

| {{yes}}

| {{yes}}

|{{Yes}}

|{{Yes}}

|

|{{Yes}}

|{{Yes}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

[https://www.jqwidgets.com/jquery-widgets-demo/demos/jqxchart/ jqxChart], part of JQWidgets

| {{proprietary}}

| {{yes|Free with a link {{cite web |url=https://www.jqwidgets.com.com/download/ |title=Search | com.com |publisher=Jqwidgets.com.com |date= |accessdate=2018-07-20 }}{{Dead link|date=July 2019 |bot=InternetArchiveBot |fix-attempted=yes }} or commercial{{cite web|url=http://www.jqwidgets.com/license/|title=License - Javascript, HTML5, jQuery Widgets|website=www.jqwidgets.com}}}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{no}}

plotly.js

| {{free|MIT}}{{citation |url=https://github.com/plotly/plotly.js |title=plotly is free and open source, available under the MIT license. |accessdate=November 17, 2015}}

| {{yes}}

| {{yes}}

| {{yes|Yes{{Cite web | url=https://plot.ly/javascript/time-series/ | title=Time Series}}}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{maybe|via Python{{Cite web|title=Network graph made with Python | line chart made by Priyatharsan | plotly|url=https://chart-studio.plotly.com/~priyatharsan/182/network-graph-made-with-python/|access-date=2021-08-05|website=chart-studio.plotly.com}}}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}{{citation |url=https://plot.ly/#gallery |title=Code inspection on several Plotly gallery examples revealed use of SVG. |accessdate=April 10, 2014}}

| {{no}}

|

| {{yes}}

RGraph

| {{free|MIT}}{{citation |url=http://www.rgraph.net/donate |title=RGraph is Free and Open Source Software using the MIT license|accessdate=December 23, 2016}}

| {{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}}

TeeChart JS

| {{free|MIT}}{{cite web|url=https://github.com/Steema/TeeChartJS/blob/master/LICENSE|title=Steema/TeeChartJS|website=GitHub|date=20 May 2020}}

| {{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}}

[https://visjs.org/ VisJS] - used in d3-graphviz

| {{free|Apache 2.0 and MIT{{cite web|url=https://github.com/almende/vis/blob/master/README.md#license|title=almende/vis|website=GitHub|date=22 September 2022 }}}}

| {{yes}}

| {{yes}}{{cite web|url=http://visjs.org/examples/graph2d/06_interpolation.html|title=Graph2d - Interpolation|website=visjs.org|access-date=2017-01-31|archive-date=2016-11-29|archive-url=https://web.archive.org/web/20161129220224/http://visjs.org/examples/graph2d/06_interpolation.html|url-status=dead}}

| {{yes}}{{cite web|url=http://visjs.org/examples/timeline/items/backgroundAreasWithGroups.html|title=Timeline - Background areas with groups|website=visjs.org|access-date=2017-01-31|archive-date=2016-12-24|archive-url=https://web.archive.org/web/20161224174258/http://visjs.org/examples/timeline/items/backgroundAreasWithGroups.html|url-status=dead}}

| {{yes}}{{cite web|url=http://visjs.org/examples/graph2d/18_scatterplot.html|title=Graph2d - Scatterplot|website=visjs.org|access-date=2017-01-31|archive-date=2016-11-20|archive-url=https://web.archive.org/web/20161120030926/http://visjs.org/examples/graph2d/18_scatterplot.html|url-status=dead}}

| {{yes}}{{cite web|url=http://visjs.org/examples/graph2d/20_shading.html|title=Graph2d - Shading Example|website=visjs.org|access-date=2017-01-31|archive-date=2017-01-23|archive-url=https://web.archive.org/web/20170123111811/http://visjs.org/examples/graph2d/20_shading.html|url-status=dead}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}{{cite web|url=http://visjs.org/examples/timeline/groups/nestedGroups.html|title=Timeline - Nested Groups example|website=visjs.org|access-date=2017-01-31|archive-date=2017-02-23|archive-url=https://web.archive.org/web/20170223182700/http://visjs.org/examples/timeline/groups/nestedGroups.html|url-status=dead}}

| {{yes}}{{cite web|url=http://visjs.org/network_examples.html|title=Network Examples|website=visjs.org}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}{{cite web|url=http://visjs.org/graph3d_examples.html|title=Graph3d Examples|website=visjs.org}}

| {{yes}}

|

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

|

| {{no}}

[https://webix.com/widget/charts/ Webix JS Charts], part of Webix

| {{free|GPL}}{{cite web|url=https://webix.com/widget/charts/|title=JavaScript Charts UI Widget - Webix JS Charts|website=webix.com}}

| {{yes}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#lineandsplinecharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{no}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#scattercharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#areaandstackedareacharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#pie3dpiechartanddonutcharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{yes}}

| {{no}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#radarcharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__grouping.html|title=Grouping Data Items of Guides, Managing Data in a Component Webix Docs|website=docs.webix.com}}

|

| {{yes}}{{cite web|url=https://docs.webix.com/desktop__chart_types.html#barbarhstackedbarandstackedbarhcharts|title=Chart Types - Webix chart types documentation: overview and usage. Webix Docs|website=docs.webix.com}}

| {{yes}}

| {{no}}

| {{yes}}

|

| {{yes}} {{cite web|url=https://docs.webix.com/desktop__chart_legend.html|title=Setting Legend for a Chart of UI Widgets, Chart Webix Docs|website=docs.webix.com}}

|

| {{yes}} {{cite web|url=https://docs.webix.com/api__refs__mouseevents.html|title=MouseEvents of API Reference, Mixins Webix Docs|website=docs.webix.com}}

| {{yes}} {{cite web|url=http://docs.webix.com/api__mouseevents_onclick_config.html|title=onClick of MouseEvents, Properties Webix Docs|website=docs.webix.com}}

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

| {{no}}

See also

References