As I embark on two new PHP web applications that have a lot of charting and graphing needs, I've started to dig into the PHP charts and graphs world. I'm pleased to say there are several nice, free PHP charts and graphs tools available, and several commercial PHP charting/graphing tools as well. Here's my quick review of the current PHP charts and graphs tools.
I have been pleased to find a nice collection of free PHP charts and graphs tools. The Google Chart Tools are available as a web service, while the other tools shown here can be downloaded and used on open source and commercial websites free of charge.
Google Chart Tools and Image Charts (Chart API).
The Google Charts API is a free web charting/graphing service from Google, and it's the tool I'm using for my current PHP charts and graphs needs. If you don't mind Google creating your charts for you on the fly (essentially using their charting tools as a web service), this is a really wonderful, free service.
If you don't like the idea of using Google as a web charts/graphs web service, and you have the GD library available on your web server, pChart is a very nice tool that you can download and use free. Their chart demos look as nice as any of the commercial charting programs listed below.
Open Flash Chart Project
The Open Flash Chart Project is available under the LGPL License. I haven't tried this one yet, but from their website, Version 2 now uses a JSON data format, and all the source is written in ActionScript 3, and compiled with Adobe Flex. Version 1 is also still viable, but takes a different technical approach. If you want Flash charts, this tool looks very interesting.
Roll your own with PHP and GDChart
If for some reason these first two free PHP charts and graphs solutions don't work for you, and you can do anything you want on your web server, this article discusses how to use PHP, GD, and GDChart to create your own PHP graphs and charts on the fly. This isn't necessarily hard, but you do need the ability to install this extra software on your web server.
When you look at PHP chart and PHP graph tools, you'll run into the murky waters where vendors offer charting tools that are "free" for certain types of use, but requiring a license for other uses, and their licenses can be confusing. That's why I've created this semi-free PHP charts and graphs category. I'll share what I know about their licenses. Also, I've sorted these tools in the order in which I would use them if I was going to pay for them.
JpGraph is free for non-commercial, open source, or educational use, otherwise you can buy a single license for $98 or a bulk license for $788. (These prices are valid as of December, 2010.)
JpGraph looks like a decent PHP charting/graphing tool, and I'd certainly give it a spin if I was working on an open source project. It can generated line charts, area charts, pie charts, bar charts, scatter charts, barcodes, and more. As far as I can tell all of these charts are created as images. Based on the single license price, and the quality of the charts/graphs, I'd give this commercial PHP charting tool a test drive before any of the others shown below.
FusionCharts Free - Flash Charting Component
FusionCharts is free for up to 22 charts and gauges, though you have to register to download anything. (I have no idea how they came up with that number.) It also has some limitations compared to their commercial version. See this comparison page for more details. After that, FusionCharts pricing starts at more than $1,000, which is too rich for my blood these days.
PHPGraphLib is written by an individual, and is free for personal use. You can create a variety of PHP graphs, including bar graphs, line graphs, stacked bar graphs, or pie graphs, all of which are rendered in a PNG format. These charts and graphs don't look as nice as JpGraph and FusionCharts, but with commercials licenses available from $40 to $400, it may be much more affordable.
XML/SWF charts is another semi-free PHP charting and graphing tool. You can download and use an unregistered version, but if your users click your PHP charts, they'll be taken to the XML/SWF website. There are a few other restrictions as well; please see their website for more information. Licenses are available for $49 and $599. Like PHPGraphLib, this charting tool doesn't look nearly as nice as the JpGraph or FusionCharts charting tools.
I hope this short review of the currently available PHP charts and graphs tools/libraries has been helpful. I'll try to add more details to this article -- and other PHP charting articles -- in the future. As a final note, if you happen to be looking for Flash charts, or just interactive charts, check out my companion Free Flash and interactive charts and graphs article.