views:

383

answers:

5

I am designing software that needs to draw several different kinds of charts--bar charts, pie charts, flow charts/graphs, charts over time. I am looking for resources related to both the programming side of the issue as well as the UI/display side. Books, online resources would all be helpful. Thanks.

A: 

Do you have to draw it your self. If you want to save time (and probably money) then you can try embedding one of these into your apps http://code.google.com/apis/chart/

Tim Matthews
+1  A: 

It does depend on the language a bit: here may be some pointers for you. Hope they help:

code.google.com/apis/chart/

home.gna.org/pychart

Practical C# Charts and Graphics

The Excel library can be imported by the Office API, but it does require you to have Excel installed.

Gnuplot

The grammar of graphics: book from the guy that wrote the plotting lib of spss. Somewhat theoretical, but nice xml treatment... gives you the graph xml schema for spss.

But I'm sure there are quite a few others that other people will know.

Dervin Thunk
A: 

Ditto with Chris; If you are developing a new way of building charts, that's great!

Assumption: I have no idea of your needs but it would initially strike me (and thus form my assumption) that you are trying to develop a better charting software and that's usually interface.

Consider checking out the libraries in other programming languages that already do charting.

Adobe Flex/Air have one, PHP does, Java Does, .NET does.. etc.

Jas Panesar
A: 

Checking out the existing charing libraries for your language of choice helps a lot. In my case, it helped so much I decided not to write my own. ;)

For .net apps we settled on .netCharting, which can be pretty amazing.

The real lesson I took from it though, is this: there are way, way more kinds of charts than I thought there were, and I work with a lot of charts. Make sure you end up with something modular enough to handle clicking in new chart types / configurations with minimal effort.

Electrons_Ahoy
A: 

You want to take a look at EyeSee.

http://moose.unibe.ch/tools/eyesee

Stephan Eggermont