Charting Overchoice

| 1 Comment | No TrackBacks

Charts are awesome. Humans are excellent at pattern recognition and that makes charts a very good way to convey information.
hurrrdurrr.png

It is sad that in the past few years I haven't had much luck in the CPAN Chart department. It wasn't for the lack of available modules, on the contrary actually.

I think what manifests here is overchoice. There are too many similarly looking modules and the problem space is pretty broad.

A lot of the chart generating modules feel dated. No support for antialiasing, weird fonts and colours and the inability to scale to a larger size (200x200 or 400x300 pixels is simply small) and a larger dataset (more than 20 values on a chart?) are common issues in GD::Graph, Chart, Chart::Strip and various other modules that pop up for a CPAN search. There is no clear leader among the graphing modules.

For most people who want to generate them, charts are helpful visualizations. It isn't an area of focus that succeeds in raising interest for a longer period of time. People search CPAN, find a module that is "good enough", write some quick hacks to get it done or publish yet another alpha stage module, but putting together something really useful requires more than that.

I remember being annoyed about 3 years ago and writing a pie chart generator module based on Imager that did antialiasing and a few other useful tricks, but never getting to release it. I've started working on something else and then lost the code in a harddrive crash. I've never bothered rewriting it again, since like most people I was only tangentially involved with charts.

A couple of weeks ago I wanted to create some charts again, hoping that I don't have to roll my own charting code, I've started searching CPAN again for modules to use and eventually I've settled with SVG::TT::Graph::TimeSeries to create some largeish visualizations.

Using the svg format solved display size related problems and overall I'm pretty happy with the module. If it would include better ways to manage bounds and data labels, it would be excellent for most "fire and forget" uses.

Overchoice applies to development, too. Developers hear the phrase "don't reinvent the wheel" often enough, but if reinventing the wheel isn't preferred, which module should they contribute to from the many available choices?

No TrackBacks

TrackBack URL: http://dev.perl.hu/movabletype/htdocs/mt/mt-tb.cgi/2

1 Comment

There is some "new" Module Chart::Clicker.
It uses Cairo to draw Charts. Here you get Antialiasing and some more things. As output you have PNG, SVG, PDF or PS.

I think Chart::Clicker is "the" module that we should look on.

(Sorry, my english is bad)

Leave a comment

About this Entry

This page contains a single entry by szbalint published on May 18, 2009 9:09 PM.

Perl programmers shouldn't care about memory and CPU usage was the previous entry in this blog.

Bilingual Blogging Builds a Better Budapest.pm? is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.25