Comparison of JavaScript charting libraries

Last updated

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

Library Name License FreeSupported Chart TypesSupported Bar Chart TypesOther Features Interactivity Rendering TechnologiesDatabindingHTML 5 Canvas
Line Timeline Scatter Area Pie Donut Bullet Radar Funnel Gantt Network GroupedMind MappingStackedNegativeDiscreteHorizontal3D Legends AnimationMouse OveronClick HTML5 Canvas SVG VML AxisXY WebGL rendering
AG Charts MITFree [1] or commercial [2] Yes [3] Yes [4] Yes [5] Yes [6] Yes [7] Yes [8] Yes [9] Yes [10] Yes [11] Yes [12] Yes [13] Yes [14] Yes [15] Yes [16] Yes [17] Yes [18] YesNoNo
amCharts Proprietary Free with a link [19] or commercial [20] YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes [21] YesNo
AnyChart Proprietary Free for education and non-profit use. [22] Paid for commercial applications. [23] YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoYesYesYesNo
ApexCharts MIT [24] YesYesYesYesYesYesYesNoYesNoNoNoYesYesYesYesYesYesYesYesNoYesNoNo
billboard.js MIT [25] YesYesYesYesYesYesYesNoYesYesNoNoYesYesYesYesYesYesYesYesYesNoYesNoYesNo
C3.js MIT [26] YesYesYesYesYesYesYesNoNoNoNoNoYesYesYesYesYesYesYesYesNoYesNoYesNo
CanvasJS Proprietary [27] Free for Personal, Educational and Non-Commercial UsesYesYesYesYesYesYesNoNoYesNoNoYesYesYesYesYesYesYesYesYesYes [28] NoNoYesNo
Chartist WTFPL [29] or MIT [30] YesYesNoYesYesYesYesNoNoNoNoNoYesYesYesYesYesNoYesYesNoYesNoNo
Chart.js MIT [31] YesYesYesYesYesYesYesNoYesNoNoNoYesYesYesYesYesYesYesYesYesNoNoNoNo
Chart Builder By Livegap FreeYesYesNoNoYesYesYesNoYesNoNoNoNoYesYesNoYesYesYesYesYesNo [32] NoNo
Charts 4 PHP Proprietary Free basic edition [33] NoNoYesYesYesNoNoNoNoNoNoYesNoNoYesYesYesYesYesNoNoNo
Cytoscape.js MIT [34] YesNoNoNoNoNoNoNoNoNoNoYesNoNoNoNoNoNoYesYesYesNoNoYesNo
D3.js, formerly Protovis [35] [36] BSD-3 [37] YesYesYesYesYesYesYesYesYesYesYesYes [38] YesYesYesYesYesYesYesYesNoYes [39] NoYesNo
DHTMLX Charts GPL [40] YesYesNoYesYesYesYesNoYesNoYes [41] NoYesYesYesNoYesYesYesYesYesNoYesNo
Dojo Charting, part of Dojo Toolkit BSD or AFL [42] YesYesNoYesYesYesNoNoNoNoNoNoYesYesYesNoYesYesYesYesYesYesYes [43] No
Dygraphs MIT [44] YesYesYesNoYesNoNoNoNoNoNoNoYesYesYesYesYesYesYesYesYesNoNoYes
Echarts Apache 2.0YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoYesYesYesYesYesYesYes [45] NoYesYes
Frappe Charts MITYesYesNoYesYesYesYesNoNoNoNoNoNoYesNoNoNoNoYesYesYesNoYesNoYesNo
FusionCharts Proprietary Free for personal and non-commercial uses. [46] Paid for commercial applications. [47] Yes [48] YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoYesYes [49] No
Google Charts Free [50] Yes [50] YesYesYesYesYesYes [51] NoNoYes [52] Yes [53] YesYesYes [54] Yes [55] YesYes [56] YesYesYesYes [57] YesYes [58] Yes [58] Yes [59] No
Raphaël MIT [60] YesYesNoYesNoYesNoNoNoNoNoNoYesYesNoNoYesYesYesNoNoYes [61] NoNo
Greylock Apache 2.0 [62] YesYesNoNoNoYesYesNoNoYesNoNoNoNoYesNoYesYesYesYesNoYesYesNo
Highcharts, Highstock Proprietary Free for personal and non-commercial uses. [63] Paid for commercial applications. [64] YesYesYesYesYesYesYesYesYesYesYesYesYes [65] YesYesYesYesYesYesYesNoYesYesYesYes
JenScript BSD-3 [66] YesYesYesYesYesYesYesNoNoNoYesYesYesYesYesYesYesYesYesYesNo [67] YesNoYesNo
jqxChart, part of JQWidgets Proprietary Free with a link [68] or commercial [69] YesYesYesYesYesYesYesYesYesNoNoYesYesYesYesYesNoYesYesYesYesYesYesNo
JSCharting Proprietary [70] Free with branding [71] YesYesYesYesYesYesYesYesYesYesNoYesYesYesYesYesNoYesYesYesNoYesNoNo
KoolChart Proprietary Free with a link [72] or commercial [73] YesYesYesYesYesYesYesYesYesNoNoYesYesYesYesYesYesYesYesYesYes [74] NoYesYesNo
LightningChart JS Proprietary Free for personal and non-commercial uses. [75] Paid for commercial applications. [76] Yes [77] YesYesYesYesYesYesYesYesNoNoNoYesNoYesYesYesNoYesYesYesNoYesYes
MuzeJS MIT [78] YesNoYesYesYesYesNoNoNoNoNoNoYesYesYesYesYesYesYesNoYesNoYesNo
Pizza Amore MITYesYesNoNoNoYesYesNoNoNoNoNoNoNoNoNoNoNoYesYesNoNoYesNoNo
plotly.js MIT [79] YesYesYes [80] YesYesYesYesYesYesYesYesvia Python [81] YesYesYesYesYesYesYesYesYesNoYes [82] NoYes
PlusCharts FreeYesYesNoNoYesYesNoNoNoNoNoNoYesYesNoNoYesYesYesYesNoYesYesNo
RGraph MIT [83] YesYesNoYesYesYesYesYesYesYesYesNoYesYesYesNoYesYesYesYesYesYesYesNoNo
SciChart.js Proprietary Free personal and non-commercial uses. [84] Paid for commercial applications. [85] Yes [86] NoYesYesYesYesNoNoNoNoNoYesYesYesYesYesYesYesYesYesYesNoNoNoNoYes
Shield UI Proprietary Non-commercial or commercial [87] NoYesYesYesYesNoYesNoNoNoYesYesYesYesYesYesYesYesNoYesYes [88] No
TeeChart JS MIT [89] YesYesYesYesYesYesYesYesYesNoYesNoYesYesYesYesYesYesYesYesYesYesYesNoYes
VisJS - used in d3-graphviz Apache 2.0 and MIT [90] YesYes [91] Yes [92] Yes [93] Yes [94] NoNoNoNoNoYes [95] Yes [96] YesYesYesNoNoYes [97] YesYesYesYesNoNoNo
Vizzu Apache 2.0 [98] YesYesNoYesYesYesYesNoYesYesNoNoYesNoYesYesYesYesNoYesYesYesYesYesNoNoNo
Webix JS Charts, part of Webix GPL [99] YesYes [100] NoYes [101] Yes [102] Yes [103] Yes [103] NoYes [104] NoNoNoYes [105] Yes [106] YesNoYes [106] Yes [107] Yes [108] Yes [109] YesNoYesYesNo


ZingChart Proprietary Free with a link [110] or commercial [111] YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes [112] YesNo
ZoomCharts Proprietary Non-commercial or commercial [113] YesYesYesYesYesYesNoNoNoYesYesYesYesYesYesYesYesYesYesYes [114] YesNoNo
Syncfusion JS Charts MITFree for education and non-profit use. Paid for commercial applications.YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes

See also

Related Research Articles

DOT is a graph description language, developed as a part of the Graphviz project. DOT graphs are typically stored as files with the .gv or .dot filename extension — .gv is preferred, to avoid confusion with the .dot extension used by versions of Microsoft Word before 2007. dot is also the name of the main program to process DOT files in the Graphviz package.

Morphic is an interface construction environment which uses graphical objects called "Morphs" for simplified GUI-building which allow for flexibility and dynamism. It was originally created for Self, but later, was ported to other programming languages like Squeak, JavaScript, Python, and Objective-C.

This is a comparison of web frameworks for front-end web development that are heavily reliant on JavaScript code for their behavior.

Raphaël, named for Italian painter Raffaello Sanzio da Urbino, is a cross-browser JavaScript library that draws Vector graphics for web sites. It will use SVG for most browsers, but will use VML for older versions of Internet Explorer. Raphaël currently supports Chrome 5.0+ Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+.

<span class="mw-page-title-main">Adobe Wallaby</span> Digital file converter application

Adobe Wallaby is an application that turns FLA files into HTML5. On March 8, 2011, Adobe Systems released the first version of an experimental Flash to HTML5 converter, code named Wallaby. It has been quickly superseded by various other Adobe tools.

Modernizr is a JavaScript library that detects the features available in a user's browser. This lets web pages avoid unsupported features by informing the user their browser is not supported or loading a polyfill. Modernizr aims to provide feature detection in a consistent and easy to use manner that discourages the use of failure-prone browser sniffing.

In software development, a polyfill is code that implements a new standard feature of a deployment environment within an old version of that environment that does not natively support the feature. Most often, it refers to JavaScript code that implements an HTML5 or CSS web standard, either an established standard on older browsers, or a proposed standard on existing browsers. Polyfills are also used in PHP and Python.

A JavaScript graphics library is a JavaScript library used to aid in the creation of graphics for either the HTML5 canvas element or SVG. Such a library eases the development and display of graphic elements like particles, motion, animation, plotting, and 3D graphics. Most JavaScript graphics libraries also provide easier access to JavaScript events, add interactivity options, and data binding.

<span class="mw-page-title-main">Three.js</span> JavaScript library for 3D graphics

Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub.

D3.js is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of Scalable Vector Graphics (SVG), HTML5, and Cascading Style Sheets (CSS) standards. It is the successor to the earlier Protovis framework. Its development was noted in 2011, as version 2.0.0 was released in August 2011. With the release of version 4.0.0 in June 2016, D3 was changed from a single library into a collection of smaller, modular libraries that can be used independently.

<span class="mw-page-title-main">PDF.js</span> PDF viewer in JavaScript included in Mozilla Firefox

PDF.js is a JavaScript library that renders Portable Document Format (PDF) files using the web standards-compliant HTML5 Canvas. The project is led by the Mozilla Corporation after Andreas Gal launched it in 2011.

<span class="mw-page-title-main">WinJS</span> Open-source JavaScript library

The Windows Library for JavaScript is an open-source JavaScript library developed by Microsoft. It has been designed with the primary goal of easing development of Windows Store apps for Windows 8 and Windows 10, as well as Windows Phone apps for Windows Phone 8.1, Windows 10 Mobile and Xbox One applications using HTML5 and JavaScript, as an alternative to using WinRT XAML and C#, VB.NET or C++ (CX).

<span class="mw-page-title-main">Webix</span> JS/HTML5/CSS3 UI toolkit for developing complex and dynamic cross-platform web applications

Webix is a JavaScript/HTML5/CSS3 UI toolkit for developing complex and dynamic cross-platform web applications.

<span class="mw-page-title-main">OpenFL</span> Software framework for video games

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.

Velocity is a cross-platform JavaScript library designed to simplify the client-side scripting of website animation. Velocity is free, open-source software licensed under the MIT License. It is the most popular open source web animation engine.

RGraph is an HTML5 software library for charting written in native JavaScript. It was created in 2008. RGraph started as an easy-to-use commercial tool based on HTML5 canvas only. It's currently freely available to use under the open-source GPL license and supports more than 50 chart types in both SVG and canvas.

<span class="mw-page-title-main">Chart.js</span> Free open-source JavaScript library for data visualization

Chart.js is a free, open-source JavaScript library for data visualization, which supports eight chart types: bar, line, area, pie (doughnut), bubble, radar, polar, and scatter. Created by London-based web developer Nick Downie in 2013, now it is maintained by the community and is the second most popular JavaScript charting library on GitHub by the number of stars after D3.js, considered significantly easier to use though less customizable than the latter. Chart.js renders in HTML5 canvas and is widely covered as one of the best data visualization libraries. It is available under the MIT license.

AnyChart is a JavaScript library for cross-platform data visualization in the form of interactive charts and dashboards. It was initially available as a Flash chart component and integrated as such by Oracle in APEX.

<span class="mw-page-title-main">GoJS</span> JavaScript library for diagram visualization and interactivity


GoJS is a proprietary JavaScript library for diagramming and data visualization, which supports creation of multiple diagram types, such as Flowchart, Network Diagram, SCADA, Floor plan, Planogram, Genogram, and others. It was created in 2012 by Northwoods Software, the creators of the Sanscript visual programming language. GoJS renders in HTML5 canvas or SVG. The GoJS library has no dependencies.

References

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