Frequently we need to use graphics and charts into web pages. The tools available are many and we can choose whether to use server or the client languages to make the charts. In this article we have collected 32 chart libraries written in Javascript, PHP and Flash.
Read on to choose your next chart library.
Comparison Table
The following table is used to summarize the most important features of the libraries and support for line charts, bar charts and pie charts for each of them.
| Application | Language | Price | Line Charts | Bar Charts | Pie Charts |
|---|---|---|---|---|---|
| JSCharts | Javascript | 149USD – Free | Yes | Yes | Yes |
| AwesomeChartJS | Javascript | Free | Yes | Yes | Yes |
| PlotKit | Javascript | Free | Yes | Yes | Yes |
| jQuery Sparklines | Javascript | Free | Yes | Yes | Yes |
| flot | Javascript | Free | Yes | Yes | No |
| Emprise JavaScript Chart | Javascript | 100+ USD – Free | Yes | Yes | Yes |
| Highcharts | Javascript | Free | Yes | Yes | Yes |
| Bluff | Javascript | Free | Yes | Yes | Yes |
| Flotr | Javascript | Free | Yes | Yes | No |
| Canvas 3D Charts | Javascript | Free | No | Yes | No |
| jQuery Visualize | Javascript | Free | Yes | Yes | Yes |
| TufteGraph | Javascript | Free | No | Yes | No |
| dygraphs | Javascript | Free | Yes | Yes | No |
| InfoVis Toolkit | Javascript | Free | Yes | Yes | Yes |
| Protovis | Javascript | Free | Yes | Yes | No |
| Processing.js | Javascript | Free | Yes | Yes | Yes |
| JSXGraph | Javascript | Free | Yes | Yes | Yes |
| pChart | PHP | Free | Yes | Yes | Yes |
| jpGraph | PHP | 98,80+ USD – Free | Yes | Yes | Yes |
| PHPGraphLib | PHP | Free | Yes | Yes | Yes |
| FusionCharts | PHP/Flash/Javascript | 399USD+ | Yes | Yes | Yes |
| Max’s Chart | PHP | Free | No | Yes | No |
| Graidle | PHP | Free | Yes | Yes | Yes |
| TeeCharts | PHP | 149+ USD | Yes | Yes | Yes |
| Libchart | PHP | Free | Yes | Yes | Yes |
| gChartAPI | PHP | Free | Yes | Yes | Yes |
| XML/SWF Charts | Flash | Free | Yes | Yes | Yes |
| Open Flash Chart | Flash | Free | Yes | Yes | Yes |
| Flash Charts PRO | Flash | 89+ USD | Yes | Yes | Yes |
| AnyChart | Flash | 499+ USD | Yes | Yes | Yes |
| FlyCharts | Flash | 99USD | Yes | Yes | Yes |
| amCharts | Flash | 99+ USD | Yes | Yes | Yes |
Charts with Javascript
JS Charts
JS Charts is a JavaScript chart generator that requires little or no coding. JS Charts allows you to easily create charts in different templates like bar charts, pie charts or simple line graphs.
Link: http://www.jscharts.com/
PlotKit
PlotKit is a Chart and Graph Plotting Library for Javascript. It has support for HTML Canvas and also SVG via Adobe SVG Viewer and native browser support.
Link: http://www.liquidx.net/plotkit/
jQuery Sparklines
This jQuery plugin generates sparklines (small inline charts) directly in the browser using data supplied either inline in the HTML, or via javascript. The plugin is compatible with most modern browsers and has been tested with Firefox 2+, Safari 3+, Opera 9, Google Chrome and Internet Explorer 6, 7 & 8.
Link: http://omnipotent.net/jquery.sparkline/
flot
Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.
The focus is on simple usage (all settings are optional), attractive looks and interactive features like zooming and mouse tracking.
The plugin works with Internet Explorer 6/7/8, Firefox 2.x+, Safari 3.0+, Opera 9.5+ and Konqueror 4.x+ with the HTML canvas tag (the excanvas Javascript emulation helper is used for IE).
Link: http://code.google.com/p/flot/
Emprise Javascript Charts
With genuine ease of use and complete customization Emprise JavaScript Charts provides you with the tools you need to publish your data quickly and in a variety of formats. Some of its features are:
- Interactive: Features such as Hints, Mouse Tracking, Mouse Events, Key Tracking and Events, Zooming, Scrolling, and Crosshairs raise interactivity and user experience in web charting to a new level.
- Axis Scaling: There’s no need to determine your data range before hand. EJSChart will calculate and scale automatically to fit whatever data it is presented with.
- Auto Zooming, Scrolling: Too much data and not enough screen real estate? Show it all. Let your end users zoom in on the pieces they’re most interested in. Axis locking for single axis zoom, scrolling and automatic axis scaling are all included.
- Stackable Series: Multiple chart series can be stacked and combined to fit many charting needs.
- Multiple Chart Types: Line, Area, Scatter, Pie, Bar and Function series are just the beginning. New series are just a few lines of JavaScript code away.
- Ajax-Driven Data: EJSChart supports XML-formatted data and loads data on the fly. New series can be added and data updated in real time without page reloads.
- Compatible: Built with compatibility in mind and tested on all major browsers, you can be assured your charts will function consistently for the broadest range of end users.
See the full list of compatible browsers. - Plugin Free: 100% Pure JavaScript Charting Solution. No more worries of incompatible plugin versions or confusing security warnings. EJSChart is pure JavaScript and requires no client installation.
- Customizable: Every aspect of the charting display can be configured and customized through well-documented properties and methods. Want to do more than just change the color of the background? Need a series type which doesn’t already exist? EJSChart is fully customizable and extendable to provide the greatest flexibility and integration for existing site designs and needs.
Link: http://www.ejschart.com/
Highcharts
Highcharts is a charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web site or web application. Highcharts currently supports line, spline, area, areaspline, column, bar, pie and scatter chart types.
Link: http://www.highcharts.com/
Bluff
Bluff is a JavaScript port of the Gruff graphing library for Ruby. It is designed to support all the features of Gruff with minimal dependencies; the only third-party scripts you need to run it are a copy of JS.Class (2.6kB gzipped) and a copy of Google’s ExCanvas to support canvas in Internet Explorer. Both these scripts are supplied with the Bluff download. Bluff itself is around 11kB gzipped.
Link: http://bluff.jcoglan.com/
Flotr
Flotr is a javascript plotting library based on the Prototype Javascript Framework (version 1.6.0.2 at the moment) and inspired by Flot (written by Ole Laursen). Flotr enables you to draw appealing graphs in most modern browsers with an easy to learn syntax. It comes with great features like legend support, negative value support, mouse tracking, selection support, zoom support, event hooks, CSS styling support and much more.
Link: http://solutoire.com/flotr/
Canvas 3D Graph
Canvas 3D Graph is a special type of bar graph that plot numbers in 3D. This first started as PHP-GD project, but soon the developer realized that there is not much sense in generating complex graph like this on server side (script worked really fast, though).
Link: http://dragan.yourtree.org/code/canvas-3d-graph/
jQuery Visualize
jQuery Visualize is a plugin that provides a simple and accessible method for generating bar, line, area, and pie charts from data inside an HTML table.
Link: https://github.com/em-/jquery-visualize – http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/
TufteGraph
This jQuery plugin is different from other javascript charting libraries because:
- Configuration is by dynamic functions, allowing for a really compact API (very few options)
- Non-core layout is done via CSS rather than code
Link: http://xaviershay.github.com/tufte-graph/
dygraphs
dygraphs is an open source JavaScript library that produces produces interactive, zoomable charts of time series. It is designed to display dense data sets and enable users to explore and interpret them.
Link: http://dygraphs.com/
Javascript InfoVis Toolkit
The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.
Link: http://thejit.org/
Protovis
Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction.
Protovis is free and open-source, provided under the BSD License. It uses JavaScript and SVG for web-native visualizations; no plugin required (though you will need a modern web browser)! Although programming experience is helpful, Protovis is mostly declarative and designed to be learned by example.
Link: http://vis.stanford.edu/protovis/
Processing.js
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest. It’s not magic, but almost.
Link: http://processingjs.org/
JSXGraph
JSXGraph is a cross-browser library for interactive geometry, function plotting, charting, and data visualization in a web browser. It is implemented completely in JavaScript, does not rely on any other library, and uses SVG, VML, or canvas. JSXGraph is easy to embed and has a small footprint: less than 100 KByte if embedded in a web page. No plug-ins are required! Special care has been taken to optimize the performance.
Link: http://jsxgraph.uni-bayreuth.de/wp/
AwesomeChartJS
AwesomeChartJS is a simple Javascript library that can be used to create charts based on the HTML 5 canvas element. The main goal during development was to pick sane defaults in order to let the user create simple charts quickly with just a couple of lines of code. One can create at almost no time bar, pie, doughnut and Pareto charts.
Link: http://cyberpython.github.com/AwesomeChartJS/
Charts with PHP
pChart
pChart is a PHP class oriented framework designed to create aliased charts. Most of todays chart libraries have a cost, our project is intended to be free. Data can be retrieved from SQL queries, CSV files, or manually provided. This project is still under development and new features or fix are made every week. Focus has been put on rendering quality introducing an aliasing algorithm to draw eye candy graphics. Rendering speed has been dramatically enhanced since the first version, we’ll still continue optimising the code.
Link: http://pchart.sourceforge.net/
jpGraph
JpGraph is an Object-Oriented Graph creating library for PHP >= 5.1 The library is completely written in PHP and ready to be used in any PHP scripts (both CGI/APXS/CLI versions of PHP are supported).
Link: http://jpgraph.net/
PHPGraphLib
PHPGraphLib is a lightweight PHP-based graphing library that creates slick PHP graphs for incorporation into a website or application. PHPGraphLib is free to use for personal use, and can be used for a small fee commercially.
PHPGraphLib is a PHP 4.3+ friendly object-oriented class that has powerful customization features, allowing you to generate the perfect bar, line, stacked bar, or pie graph for any application. Used with dynamic data, PHPGraphLib allows easy visual interpretation of sophisticated data sets. Simply feed PHPGraphLib an array of data points, and it will generate a .png chart of your data.
Link: http://www.ebrueggeman.com/phpgraphlib
FusionCharts
FusionCharts v3 helps you create animated & interactive charts for web & enterprise applications. It is the industry’s leading enterprise-grade charting component that functions seamlessly on PCs, Macs, iPads, iPhones and a majority of other mobile devices.
FusionCharts leverages Flash and JavaScript (HTML5) to create stunning charts, and works with both XML and JSON data. It can be integrated with any server-side technology (ASP, ASP.NET, PHP, JSP, ColdFusion, Ruby on Rails etc.) and database. FusionCharts is used by 17,000 customers and 330,000 users in over 110 countries to add “wow” to their applications.
Link: http://www.fusioncharts.com/
Max’s Chart
Max’s Chart is a professional but very easy to use PHP based chart generator. You can create beautiful horizontal or vertical charts fast and easy. You don’t need any database or an image library to generate a full CSS driven output. No tables used at all. You can extend the style by editing a simple CSS file.
Link: http://www.phpf1.com/product/php-chart-script.html
Graidle
Graidle (Graph aid), is an open-source project that is proposed to create a web application for the realization of charts; this package can be used to generate several types of graphical diagrams. There are several classes specialized in generating histograms,spider, pie charts and line charts. Visual aspects can be customized such colors, labels, axis etc.. charts are generated as true color images using the PHP4 GD2 library functions, and can be displayed as the current script output or saved to a file in the PNG format.
Link: http://graidle.sourceforge.net/
TeeChart
TeeChart for PHP is an Object-Oriented Charting component library for PHP. The library is completely written in PHP and ready to be used in any PHP scripts. TeeChart for PHP is offered via two formats, the Free Open Source version and the Licensed Pro version. Both include the full source code meaning that no loaders have to be used in order to create a Graph on your servers. Most of the features are identical between versions; the significant exceptions being that only the licensed Pro version of the TeeChart for PHP library may be used in a commercial context and that standard support is only available for the licensed Pro version.
Link: http://www.steema.com/teechart/php
Libchart
Libchart is a free chart creation PHP library, that is easy to use. Main features are:
- Bar charts (horizontal or vertical).
- Line charts.
- Pie charts.
- Single or multiple data sets.
- Compatibility with PHP 5.
- Easy to study how it works and adapt to your needs.
- No external dependency, need only PHP compiled with GD and FreeType
Link: http://naku.dohcrew.com/libchart/pages/introduction/
gChartPhp
The Google Chart API lets you dynamically generate charts with a URL string. You can embed these charts on your web page, or download the image for local or offline use. gChartPHP is a simple PHP Object wrapper for the Google Chart API. Should help anyone who needs to automate the building of the Google Chart url. Supports (almost) all types of charts.
Link: http://code.google.com/p/gchartphp/
Charts with Flash
XML/SWF Charts
XML/SWF Charts is a simple, yet powerful tool to create attractive charts and graphs from XML data. Create an XML source to describe a chart, then pass it to this tool’s flash file to generate the chart. The XML source can be prepared manually, or generated dynamically using any scripting language (PHP, ASP, CFML, Perl, etc.) XML/SWF Charts makes the best of both the XML and SWF worlds. XML provides flexible data generation, and Flash provides the best graphic quality.
Link: http://www.maani.us/xml_charts/index.php?menu=Introduction
Flash Charts Pro
Flash Charts Pro is an application that is used for converting your scores and finances into attractive animated graphical charts. Designed for applications it can be used for any (online / offline based) software and stats.
With Flash Charts Pro you can easily install attractive stats on your website and make detailed explanation of all scores that come from different digital sources onto your website or application, presenting it as animated diagrams. All you need to do is upload the core SWF files to the server/include them to your project and configure them via XML data files or you can streamline your data directly to Flash Charts Pro using your favorite scripting language. Flash Charts Pro is easy in use; you do not need to be an advanced programmer for using chart library. It requires no server-based software, there are 2 ways for making it work:
- You can create a list with all your data and Flash Charts Pro will catch it and display in graphics;
- The other way is that you can assign variables and stream all your data into the Flash Charts Pro, so that if data constantly changing all reflections you’ll see on your chart.
Link: http://www.web-site-scripts.com/flash-charts/index.html
Open Flash Chart
Open Flash Chart 2 allow you to create easily charts with Flash. The library is written in ActionScript 3 and used Adobe Flex to compile it. The library use JSON as the file format.
Link: http://teethgrinder.co.uk/open-flash-chart-2/
AnyChart
AnyChart is a flexible Flash based solution that allows you to create interactive and great looking flash charts. It is a cross-browser and cross-platform charting solution intended for everybody who deals with creation of dashboard, reporting, analytics, statistical, financial or any other data visualization solutions.
Link: http://www.anychart.com/home/
Fly Charts
FlyCharts is a set of Adobe Flash (SWF) files that gives you outstanding possibility to visualize your data. Now, using FlyCharts you can create compact, interactive and good-looking charts in a minute. FlyCharts doesn’t need any installation, works with any scripting language, can be used in any browser, is interactive, is scalable & flexible, size of output files is reallysmall. We have a number of chart types – column/bar, line/pipe, pie, area.
Link: http://flycharts.net/
AmCharts
AmCharts is a set of Flash charts for your websites and Web-based products. AmCharts can extract data from simple CSV or XML files, or they can read dynamic data generated with PHP, .NET, Java, Ruby on Rails, Perl, ColdFusion, and many other programming languages.
Link: http://www.amcharts.com






























































