NOTE: Read about our Current Status
A Brief Overview of Charting and Graphing Components for .NET Developers
The old adage that a picture is worth 1,000 words holds its merit when it comes to charting. Measurements, colors, numbers, shapes, lines, and dimensions combine together to form charts that can instantly display a heap of meaningful, aggregated data to those viewing them. In recent years, server-side technologies and increasingly powerful graphics libraries like GDI+, Managed DirectX, and OpenGL have taken the ability to create stunning charts and put it in the hands of software developers.
Charting Essential for Business Intelligence and Visualization
With the increasing need for and use of business intelligence and visualization software, charting has become an essential part of many software packages being installed on the desktops of information workers and of those people who need sophisticated, real-time reporting and analysis tools. These software packages typically need to create vertical and horizontal bar charts, pie charts, histograms, line graphs, and combinations of these styles together in two and three dimensional views. This is where charting components really shine. As a plug-and-play software component, developers can easily gain the ability to deliver informative charts driven by many different sources of data.
Advanced Graphical Data Manipulation Library: GDI+
The Microsoft .NET Framework provides easy access to an advanced graphical data manipulation library, known collectively as GDI+, that serves as an API for the Windows Graphical Device Interface. Before GDI+, developers trying to create charts had the traditional GDI API which was less elegant than GDI+. The code to be written against the traditional GDI API could easily became complicated for two-dimensional images, text, or other simple graphics.
GDI+: Imaging, 2-D Graphics, and Text
Today with the .NET Framework, the services provided by GDI+ fall into three areas: imaging, two-dimensional graphics, and typography. Two-dimensional graphics involve creating images like lines, bars, curves, or other shapes. Imaging generally encompasses the tasks related to rendering, storing/loading, and otherwise manipulating the two-dimensional raster (bitmap) or vector images. Typography in GDI+ deals with the display of text in various encodings, directions, and font styles. For example, when the text for a label on a form needs to be painted (drawn) to the screen, GDI+ handles the painting of that text.
Simple Charts are Easy with GDI+
Truth be told, it's not difficult to create simple two-dimensional images with GDI+, perhaps even with some dynamic text. GDI+ does a good job at providing the foundation for doing graphic development work in .NET.
Sophisticated Charts need Charting Components
However, creating robust, three-dimensional charts using GDI+ is far more complicated. Even more difficult is adding effects to your chart images like lighting, bevels, drop-shadows, cutouts, transparency, and other effects commonly applied with a graphic design tool like Adobe Photoshop. Once your clients start requiring advanced graphical charting abilities like these, you're most likely going to go hunting for a charting component you can plug into your application.
What To Look For
Which charting component is best for you depends on your needs. Although there is a common level of functionality among almost every charting component, some provide chart types that the others do not. Some come with better chart templates and code examples than others, which might be important to you if you need to produce a quick demo. If price is an issue, you might take a look at the free components. You may consider vendor support as an important aspect of your purchase. A little later in this Guide, you will find a list of decision points that provide you with a list of elements to consider when evaluating a charting component for .NET.