Your question is rather broad.
The answers to these questions usually depend upon what sort of programming framework you will be using for your website. For example, PHP has some native libraries to generate graphs based on submitted data in multiple formats. But that may not be what you are looking for and using something like dojo or ExtJS might be better. Or if you are a Java/JSP person, then there are lots of frameworks that can handle this. Of course .NET might be better. I am sure the Python and Ruby folks have their own thoughts as well and then of course there is Delphi.