Introduction

This article shows how to generate some column chart images for your users in an easy way. You can simply give some arguments to the class library and receive an image object, or directly save it on hard disk.

An example application will be shown in this article, how to use the class library, the features implemented and the future enhancements. The image below is an example of column chart created using this class library.

Building a library like this is not such an easy task, because the number of calcs you have to do to render the image grow up faster by the way you add new features. Making a library with just a few features also doesn’t make sense, because you'll probably have to re-implement it again everytime you need to use it.

If you search on the Web, it is easy to find some good (great) chart generator libraries. For most of them, you have to pay if you want to use without having access to source code.

The goal of this article is to share knowledge and give developers an alternative to create some simple column chart images. The image below is another example:

The image below is a chart example using negative values:

The Demo Application

To easily understand the features of this library, I have developed a demo application that looks like the image below:

With this demo application, we can give some arguments to the engine and the image will be rendered just below (as you can see on the image). It’s important to say here that not all the features and possibilities are available in this demo application.

Inside the first group named “Column Chart Properties”, we have the general chart properties, like image width, height, margins, etc. The second and third groups are related to the column values and descriptions. Through these groups, you can remove and add new columns to the chart. Try it!

Library Features – How To Use Them!

To make this project most flexible, you can format the chart your way. There are lots of combinations you can create, giving the charts other appearances. Here, I'll enumerate some properties of the chart you can access and change. Most of these properties are self-explained.

Second Way

Future Enhancements

Actually, it’s not possible to group data columns. It’s a limitation of this version.

Also, it would be great if we have other types of charts like line charts, pie charts, bar charts, etc.

Conclusion

This is a limited alternative to generate column charts, but can be used on simple tasks. It’s possible to share some knowledge with this little project, explaining how to use the library and giving access to the source code.