For many people, a chart is Excel with
a simple data graph. And, for most purposes, that’s
quite sufficient. At the other end of the scale, you
can write your own graphing system. From experience,
I can tell you that this is a tedious job involving wrestling
with the internals of the Windows GDI (Graphics Device
Interface). Recently, it’s become a little easier
with the advent of GDI+ but it’s still a long hard
slog to get anything above simple line drawing working.
Even when you’ve
got something that works on one screen resolution, it
probably won’t work correctly on another. Unfortunately,
the Windows GDI wasn’t so much designed as ‘happened’.
If you have the misfortune to be forced to do anything
serious in it, you may well end up damning the souls
of the GDI designers to eternal perdition.
Here’s a graph from Steema’s
web site showing what you can do with some of the more
advanced features of TeeChart.
The alternative is to use third party software. The
one that may come first to mind for graphing is TeeChart
from Steema Software. This has been around in several
incarnations since 1997. Originally starting off as a
Delphi VCL component, it has migrated to ActiveX and
now to .NET and Java. Here, I’ll be looking at
the .NET version, though you can still buy the Delphi
and ActiveX products.
The .NET version works much the same as the older ActiveX
version: you drag a TChart control onto a form and right-click
to select its Properties Page. This brings up the excellent
TeeChart Editor, a configuration tool that allows you
to select a style of chart or graph and to define the
axes, legends and so on. As you select the various options – there
are a lot of them – the effects are immediately
visible on the control on the form. With this Editor,
you should be able to get more or less what you are aiming
at without having to compile the program and look at
the results at run time.
The Editor is the key of
easy graph design. Using this, you can get a good idea
of what your graph will look like without the trouble
of running it.
TeeChart does run-of-the-mill graphs easily and it does
them well. But then so does Excel and several graphing
components available for free. So what sets TeeChart
apart? Well, first, let me say that not all its graphs
are run-of-the-mill. It has some quite advanced capabilities
too. Moreover, apart from its Editor, there are several
features that interested me personally. The first is
that you can, if you wish, define several charts in a
single control and turn them on or off at run time, switching
from say a line graph to a bar graph of the same data.
Secondly, I liked TeeChart’s ability to integrate
into Microsoft’s
ADO (Active Data Objects) database system with the usual ‘datasource’ property.
If you have a database, you will be able to select data
from the database and graph the results dynamically with
no extra graphics programming once you’ve set everything
up.
The third feature that got my attention is the ability
to draw on the graphics surface after TeeChart has done
its stuff. In fact, you can add your own bits both before,
during and after TeeChart’s creation of the graph
because TeeChart defines a number of events via .NET’s
delegates. This is really rather neat. TeeChart by default
will do only what its designers implemented and you may
have extra requirements so the ability to ‘extend’ TeeChart
by adding extra graphics is quite useful. The problem,
of course, is that you have to have at least some knowledge
of the infernal arts of GDI Brushes, Pens and the
like.
I’ve added three extra circles to the
graph drawn by TeeChart here, getting a ‘gunsight’ sort
of effect.
You may not want to use this feature often,
but it’s handy to have around.
Like the ActiveX and Delphi versions, TeeChart .NET
takes full advantage of Microsoft’s ASP .NET technology.
You can publish server based ‘Web charts’ in
much the same way as you would in a more traditional
PC based application. This does however require an extra
$179/£101 license per server.
So, was there anything I didn’t like? Well apart
from a few very trivial nit-picking gaps in the dynamic
help system, no there wasn’t. Everything worked
perfectly. It was easy to use, well documented and with
excellent tutorials. The price per developer is a bit
steep at $499/£283, but if you look at it in terms
of how long it would take – and how much it would
cost - a programmer to write a half decent graph, then
it’s worth it.
Dermot Hogan
October 2005 |