Charts And Graphs: Modern Solutions

Advertisement

Charts are supposed to visualize data in order to give a more profound understanding of the nature of a given problem or recent developments. Whatever type of data presentation you prefer (pie charts, bubble charts, bar graphs, network diagrams etc.), you can create charts in graphic editors manually or use special desktop-software instead. In both cases you have a major problem: once you’d like to update an old chart, or create a new one, you have to run the application and create new images over and over again. That’s not flexible. That’s also not usable — e.g. if you’d like to update your chart live.

Server-based solutions, implemented with Flash, JavaScript or pure CSS, offer a more flexible alternative. In fact, since Flash offers significant advantages over static data presentation with CSS and JavaScript, most solutions use it for dynamic data visualization. The data itself is often stored in XML-files which are loaded and updated via PHP or ASP. The price range varies enormously — depending on the flexibility and level of customization you’d like to have. However, if you don’t want to pay, you don’t have to — there are powerful free solutions as well.

If you use Ajax- or JavaScript-frameworks you might already have powerful chart components integrated into the library by default. If it’s not the case, you might try to search for existing add-ons. E.g. there are extensions for jQuery and Dojo1 you can use to generate and style your own charts with few lines of JavaScript and CSS.

Chart Demo Screenshot2
The Dojo Charting Engine3 can generate graphs and charts with few JavaScript snippets4.

Many server-based solutions are quite versatile, so you can use them to create a variety of charts and graphs in minutes. However, to use these tools you need to know where to find them.

This article presents an overview of tools, applications and techniques for visualizing data in charts and graphs. Among other things both free and commercial chart tools, services, desktop-applications and web-based solutions (Flash, JavaScript, CSS) — you can use them on your server — are presented.

Please notice that the solutions listed below don’t necessarily produce charts which serve the main purpose of data visualization — namely, to provide an easy-to-use visual presentation of (possibly) complex data sets. It’s far more important that the presented information is usable and comprehensible rather than presented in a visually appealing way. Outstanding data visualizations aren’t achieved by the beauty of data presentation, but by an effective interpretation of the data it represents.

Charts and Graphs: Flash-based Solutions

FusionCharts Free5
FusionCharts Free is a Flash charting component that can be used to render data-driven & animated charts for web applications and presentations. It is a cross-browser and cross-platform solution that can be used with ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, simple HTML pages or PowerPoint Presentations to deliver interactive and powerful flash charts.

You can generate 2D/3D Column Charts, Line Charts, 2D/3D Pie & Doughnut Charts, Area Charts, Stacked Charts, Combination Charts and Candlestick Charts. The data is stored in XML. The full version of the application has more animated charts, visual effects (shadow, glow etc.) as well as a Visual XML Generator Utility. You don’t need to know anything about Flash to use FusionCharts. All you need to know is the language you’re programming in. Free version provides a high level of flexibility and dozens of impressive designs.

Chart Demo Screenshot6

Chart Demo Screenshot7

amCharts8
amCharts offers a flexible and easily customizable solution for generating charts “on the fly”. There are 4 sets with predefined Pie & Donut, Line & Area, Column & Bar and Scatter & Bubble. Generated Flash-files are dynamic and can be presented in 2D or 3D. The loader can load data from XML or CSV, so you can easily export data from Excel, dynamically generate data file with PHP, ASP, .NET or other programming language. Some flash-charts also have animation effects.

amCharts is linkware which means that you have to place a link to the source if you’d like to use it for free. You can also purchase a single site license for 85 Euros (~$117). We’ve already reviewed amCharts previously9.

Chart Demo Screenshot10

Chart Demo Screenshot11

Chart Demo Screenshot12

AnyChart Flash Chart Component13
AnyChart is a more powerful alternative to Open Flash Chart. It is fully cross-browser and cross-platform and can generate Pie, Bar, Line, Candlestick, Area, Column, Bubble, Spline, Dot/Marker, Scatter, Candlestick and Doughnut charts. It can be used with virtually all scripting languages — ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, simple HTML pages and also PowerPoint presentations.

AnyCharts is driven by XML as universal data interface, so you can visualize data from any data format: from files in text, Excel, CSV formats to MySQL, MS SQL, and Oracle database servers. Users can save the generated charts as an image for email sending or chart export. AnyChart is huge, but not that inexpensive – a one developer licence starts at $649.00.

Chart Demo Screenshot14

Anychart15

Chart Demo Screenshot16

Rich Chart Server for .NET17
Rich Chart Server generates captivating interactive Flash charts from ASP.NET and Windows Forms applications. Rich Chart Server uses flexible templates to integrate dynamic content from a variety of data sources. Price $295.

Chart Demo Screenshot18

Flash Charts Pro19
Flash Carts Pro — ASP Chart and PHP Flash Charting tool — comes with 9 main categories and more than 30 chart types. No installation is required. Upload the Flash file and generate a list of ingoing values – or use a script. Customization is possible via the XML file itself. The tool offers multi-lingual (UTF-8) characters support, customizable animation, grid component and dynamically resizable charts. The price range starts at $59. Unfortunately there is no trial-version.

Chart Demo Screenshot20

Chart Demo Screenshot21

Swiff Chart Generator22
Swiff Chart Generator is the server-side solution to dynamically serve eye-catching animated charts from Active Server Pages (ASP), PHP scripts or JSP scripts. Query data from a database, apply your own style template created with the Swiff Chart authoring tool and Swiff Chart Generator instantly generates high-impact charts in Flash format, PNG/JPG format, SVG format and PDF format. Use Swiff Point Player to incorporate your Flash Charts into your PowerPoint presentations. Pricing starts at $149.

Chart Demo Screenshot23

XML/SWF Charts24
PHP/SWF Charts offers a simple and dynamic solution for interactive Flash-based charts. Columns, circles, bars and pies can be displayed in 3D. You 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.).

The script requires only PHP 4 support; it is free, however all charts are by default linked to the source — unless you’ve purchased a license.

Chart Demo Screenshot25

Chart Demo Screenshot26

Open Flash Chart (OFC)27
OFC is an open-source project. The Flash chart offers 35 chart variations; among them a number of bar charts, pie charts and line charts. Provided tutorials explain how the script can be extended with further functionality such as mouse-over effects and how the database can be queried for some values and the results then displayed in a graph. Open Flash Chart uses Flash and PHP; data can be stored in plain text (.txt). The package, available via Sourceforge, includes a number of examples and samples.

Chart Demo Screenshot28

Chart Demo Screenshot29

Charts and Graphs: PHP/ASP Libraries

Libchart30
Libchart is is a simple PHP-library. You can create Line-, Bar- (horizontal and vertical) and Piecharts. The tool requires PHP compiled with GD Graphics Library and FreeType. Libchart is a free software distributed under the terms of the GNU General Public License (GPL).

Chart Demo Screenshot31

Image_Graph32
Image_Graph (formerly known as GraPHPite) utilizes PHP’s object oriented model to enable users/developers to create highly versatile graphs in a simple way. There are 14 highly customizable chart types including line, bar, area, pie, impulse, dot/scatter, step, candlestick, box & whisker, radar, etc.

The free script requires PHP4 or PHP5 support with GD 2 support for optimal performance and PEAR package, including Image_Color and Image_Canvas package. The site offers over 80 samples of how the tool can be used.

Chart Demo Screenshot33

Chart Demo Screenshot34

JpGraph35
JpGraph is a Object-Oriented Graph creating library for PHP. The library is completely written in PHP and can be used in any PHP scripts. The library can be used to create numerous types of graphs either on-line or written to a file. Line plots, filled line plots, step line plots, bar and pie charts, ring and scatter plots, polar and canvas plots as well as Gantt Charts. The designs of charts aren’t that impressive, but they don’t have to.

Chart Demo Screenshot36

.netCHARTING37
.netCHARTING utilizes the .NET framework and GDI+ providing a managed charting solution for C# and VB.NET developers working with ASP.NET or WinForms. The tool offers a huge choice of available charts. In most cases 2D and 3D-views are available. Price range starts at $395 for a single site license.

Chart Demo Screenshot38

Chart Demo Screenshot39

Charts and Graphs: JavaScript-based solutions

Emprise JavaScript Charts40
Emprise JavaScript Charts is done in pure JavaScript — no Flash support is required. The script includes features such as hints, mouse tracking, mouse events, key tracking and events, zooming, scrolling, and crosshairs which might raise interactivity and user experience. EJSChart supports XML-formatted data.

Every aspect of the charting display can be configured and customized through well-documented properties and methods. An interesting solution, offering a number of designs and behaviours. Pricing starts at $100.00. There is a watermarked private version available for free.

Chart Demo Screenshot41

PlotKit – Javascript Chart Plotting42
PlotKit is an experimental JavaScript-based chart and graph plotting library. It has support for HTML Canvas and SVG via Adobe SVG Viewer as well as native browser support. The script requires MochiKit JavaScript library43, version 1.3 or higher. Released under the BSD License.

Chart Demo Screenshot44

Plotr45
This lightweight charting framework based on PlotKit draws simple charts. It’s free, and there is no use of Flash. There are also no interactive elements, however you don’t always need them.

Chart Demo Screenshot46

Chart Demo Screenshot47

CSS-based Solutions

An overview of techniques and ideas to create simple charts with CSS and (X)HTML. These solutions provide easy methods to generate static charts and style them; however, they can’t compete with the interactivity Flash offers.

Related Articles

Online Services and Generators

To create charts you don’t need installation or software. Of course, you can get things done online — with charts and graphs generators. The fact that charts aren’t that simple to deal with is realized once you have to input all the data manually. Be prepared: to get the final results you might need dozens of clicks and web forms to input your data.

  • Rich Chart Live74
    Rich Chart live offers a number of templates and styles. The image below shows the “watercolor pie”-style. Output: Flash-, PowerPoint or image you can insert in your weblog instantly.

    Chart Demo Screenshot75

  • FusionCharts Google Gadget76
    The online-version of Fusioncharts.

    Chart Demo Screenshot77

  • Create a Graph78
    Supposed to be used by kids, this tool offers a variety of different charts which can be generated once the data is provided. Flash is required.

    Chart Demo Screenshot79

Free Software and Commercial Solutions

You can find an overview of popular charts-related applications in our article Diagrams: Tools and Tutorials80. Among other things we’ve covered DIA81, JFreeChart82, Omnigraffle83 and Microsoft Visio84.

Footnotes

  1. 1 http://www.dojotoolkit.org/2006/11/08/dojo-charting-engine-courtesy-greenplum-and-sitepen
  2. 2 http://www.dojotoolkit.org/2006/11/08/dojo-charting-engine-courtesy-greenplum-and-sitepen
  3. 3 http://www.dojotoolkit.org/2006/11/08/dojo-charting-engine-courtesy-greenplum-and-sitepen
  4. 4 http://ajaxian.com/archives/dojo-charting-engine-released
  5. 5 http://www.fusioncharts.com/free/
  6. 6 http://www.fusioncharts.com/free/
  7. 7 http://www.fusioncharts.com/free/
  8. 8 http://www.amcharts.com/
  9. 9 http://www.smashingmagazine.com/2007/09/20/attractive-online-diagrams-charts-and-maps/
  10. 10 http://www.amcharts.com/
  11. 11 http://www.amcharts.com/
  12. 12 http://www.amcharts.com/
  13. 13 http://www.anychart.com/products/anychart/overview/
  14. 14 http://www.anychart.com/products/anychart/overview/
  15. 15 http://www.anychart.com/products/anychart/overview/
  16. 16 http://www.anychart.com/products/anychart/overview/
  17. 17 http://www.blue-pacific.com/products/RichChartServer/
  18. 18 http://www.blue-pacific.com/products/RichChartServer/
  19. 19 http://www.web-site-scripts.com/flash-charts
  20. 20 http://www.web-site-scripts.com/flash-charts
  21. 21 http://www.web-site-scripts.com/flash-charts
  22. 22 http://www.globfx.com/products/swfchartgen/
  23. 23 http://www.globfx.com/products/swfchartgen/
  24. 24 http://www.maani.us/xml_charts/index.php
  25. 25 http://www.maani.us/xml_charts/index.php
  26. 26 http://www.maani.us/xml_charts/index.php
  27. 27 http://teethgrinder.co.uk/open-flash-chart/
  28. 28 http://teethgrinder.co.uk/open-flash-chart/
  29. 29 http://teethgrinder.co.uk/open-flash-chart/
  30. 30 http://naku.dohcrew.com/libchart/pages/introduction/
  31. 31 http://naku.dohcrew.com/libchart/pages/introduction/
  32. 32 http://pear.veggerby.dk/
  33. 33 http://pear.veggerby.dk/
  34. 34 http://pear.veggerby.dk/
  35. 35 http://www.aditus.nu/jpgraph/
  36. 36 http://www.aditus.nu/jpgraph/
  37. 37 http://www.dotnetcharting.com/overview.aspx
  38. 38 http://www.dotnetcharting.com/overview.aspx
  39. 39 http://www.dotnetcharting.com/overview.aspx
  40. 40 http://www.ejschart.com/
  41. 41 http://www.ejschart.com/
  42. 42 http://www.liquidx.net/plotkit/
  43. 43 http://mochikit.com/
  44. 44 http://www.liquidx.net/plotkit/
  45. 45 http://solutoire.com/plotr/
  46. 46 http://www.liquidx.net/plotkit/
  47. 47 http://www.liquidx.net/plotkit/
  48. 48 http://dragan.yourtree.org/code/ajax-mgraph/
  49. 49 http://dragan.yourtree.org/code/ajax-mgraph/
  50. 50 http://www.surfare.net/~toolman/temp/diagram.html
  51. 51 http://www.surfare.net/~toolman/temp/diagram.html
  52. 52 http://applestooranges.com/blog/post/css-for-bar-graphs/?id=55
  53. 53 http://applestooranges.com/blog/post/css-for-bar-graphs/?id=55
  54. 54 http://applestooranges.com/blog/post/css-for-bar-graphs/?id=55
  55. 55 http://petewilliamsagency.com/css/examples/pie/
  56. 56 http://petewilliamsagency.com/css/examples/pie/
  57. 57 http://www.khmerang.com/index.php?p=118
  58. 58 http://www.khmerang.com/index.php?p=118
  59. 59 http://www.grassegger.at/xperiment/sac-simple-accessible-charts-css/
  60. 60 http://www.grassegger.at/xperiment/sac-simple-accessible-charts-css/
  61. 61 http://www.khanate.co.uk/graph/
  62. 62 http://www.khanate.co.uk/graph/
  63. 63 http://www.terrill.ca/design/vertical_bar_graphs/
  64. 64 http://www.terrill.ca/design/vertical_bar_graphs/
  65. 65 http://www.standards-schmandards.com/exhibits/barchart/
  66. 66 http://www.standards-schmandards.com/exhibits/barchart/
  67. 67 http://www.cssplay.co.uk/menu/barchart.html
  68. 68 http://www.cssplay.co.uk/menu/barchart.html
  69. 69 http://webfx.eae.net/dhtml/chart/demo.html
  70. 70 http://webfx.eae.net/dhtml/chart/demo.html
  71. 71 http://lorelle.wordpress.com/2006/01/05/css-bar-graphs-and-charts/
  72. 72 http://www.maxdesign.com.au/presentation/percentage/
  73. 73 http://blog.leetsoft.com/2006/8/22/super-simple-css-bars
  74. 74 http://www.richchartlive.com/RichChartLive/rcl-free.aspx
  75. 75 http://www.richchartlive.com/RichChartLive/rcl-free.aspx
  76. 76 http://gmodules.com/ig/creator?synd=open&url=http%3A//fusioncharts.googlecode.com/svn/trunk/fusioncharts.xml
  77. 77 http://gmodules.com/ig/creator?synd=open&url=http%3A//fusioncharts.googlecode.com/svn/trunk/fusioncharts.xml
  78. 78 http://nces.ed.gov/nceskids/createagraph/
  79. 79 http://nces.ed.gov/nceskids/createagraph/
  80. 80 http://www.smashingmagazine.com/2006/09/01/list-of-nifty-tools-diagrams-charts/
  81. 81 http://www.gnome.org/projects/dia/
  82. 82 http://www.jfree.org/jfreechart/
  83. 83 http://www.omnigroup.com/applications/omnigraffle/download/
  84. 84 http://www.microsoft.com/office/visio/prodinfo/default.mspx

↑ Back to top Tweet itShare on Facebook

Vitaly Friedman loves beautiful content and doesn’t like to give in easily. Vitaly is writer, speaker, author and editor-in-chief of Smashing Magazine. He runs responsive Web design workshops, online workshops and loves solving complex performance problems in large companies. Get in touch.

Advertising
  1. 1

    i want to display a data label in the pie chart even that value is zero….what r the changes i have to do in the settings file could u plz help me to solve this problem

    0
  2. 52

    We’ve just finished our pure CSS chart generator – including color pickers, background images, gradients etc. Just enter your values, choose your colors and get your chart. You can call it via a PHP script for inclusion into your page. Check it out at http://www.artviper.net/css-chart-generator

    Any comments, improvements etc are welcome!

    0
  3. 103

    Thank you~

    0
  4. 154

    This is a chart explorer made using Open Flash Chart.
    http://blog.webasp.com.au/2009/06/open-flash-chart-2-kvasir-explorer/

    0
  5. 205

    Nice all this Chart but what is about Infragistics? Is it not good?

    Thanks

    0
  6. 256

    Great info on link building.. It will guide many in building good links on the Web

    0
  7. 307

    Useful Article! I am using amCharts now since i feel its quite straightforward in terms of chart settings. Also it can update itselft automatically without any need of thirdparty framework. You set everything in setting file which controls the chart. That is really nice!

    Started Exploring Dojo, FusionCharts and others…

    Thanks! for the article

    0
  8. 358

    Published because of the useful information I know, thank you. You have given us your valuable comments I wish you continued thanks to informative content.

    0
  9. 409

    Take a look at http://www.running-charts.com
    Ajax charts without any plugins at IE 6.0, 7.0, 8.0, Firefox, Safari, Opera and Chrome.
    Only JavaScript and CSS are needed.

    0
  10. 460

    Hi ,

    i needs to develope the dojo pie chart wiht sql query for generate the performance report from db2 table.

    please help me and give the best example to get the dojo pie chart using sql query

    0
  11. 511

    help!

    I am trying to see if this is possible….

    is it possible to generate charts, using fusioncharts or some other program, from an sql data base, and then force the output with text and charts to a pdf file/ And then maybe do a batch of 100 different reports sending each report to a different pdf file?

    I am trying to take a large data set of indivudal responses to survey qustions, store the data in sql, then generate a report for each person who takes the survey. Like giving everyone a scorecard on a test.

    0
  12. 562

    I couldn’t agree with you more!!!

    0
  13. 613

    What illustrative piece!!!

    0
  14. 664

    Here is another HTML5 Charting Library that you might find interesting http://canvasjs.com/

    0
  15. 715

    Here is another service for creating online charts and graphs:

    http://www.onlinecharttool.com

    0
  16. 766

    I’m surprised the list does not include Nevron Chart – (www.nevron.com) – it has ASP.NET integration, can export flash, svg, pdf, silverlight or raster based charts, supports 2D and 3D charts with OpenGL, supports zooming and scrolling in AJAX mode etc. A very good solution in my opinion…

    0

↑ Back to top