views:

65

answers:

4

Hello,

I am looking for a plotting/graphing library (mostly to do line plots) for my application. I have been looking at JavaScript APIs (like Google's) but I found them to be slowing down things at client side (I am plotting a quite large number of points). I also found that with client-side libraries, the performance was quite varied depending on the user's computer. With moving to a server-side library I would cut down on this variance, and would have more control over data flow (my data is in a MySQL database).

I have then looked at some PHP-based plotting libraries, but a lot of them seem to be "forgotten" (no new version for years). I have been eying pChart, but it has not had an update in almost two years.

First, what would you recommend: server-side or client-side approach?

Second, what library would you recommend. Paid libraries are definitely an option, as I don't mind paying for quality software that would cut down on my development time.

Thanks,

+1  A: 

You could take a look at JPGraph (serverside) or AMCharts (flash, clientside)

webdestroya
+1  A: 

Which is recommended depends on what you want to do with the data. If you're looking to manipulate it on the client, then client side graphing is usually better.

What don't you like about the google charting stuff? (Besides the slowness)

drachenstern
There is nothing specific I don't like about Google's API. In fact, its probably the best javascript API I've used (cleanest looking charts). The thing I am trying to resolve is the overhead of javascript: the app may load fine on my computer, but it will take too long to load on my client's piddly Celeron with 512K (and it will be of course my fault ;) )
Goro
well the cache doesn't really matter, and I can't think you'ld be using enough memory to saturate 512MB RAM (or even half that unless you're doing some insane rendering) but instead I would be worried about tripping the processing cycle count for JS code. (This action is still processing, do you want to let it continue? [Ok] ) ~ Sounds like you'ld be better pressed to do Serverside processing...
drachenstern
+1  A: 

Personally I use the server-side jpGraph for most of my charting work, and fusionCharts (commercial) for flash-based client-side charting, although I'm looking at openFlashCharts at the moment

Mark Baker
JPgraph is not only VERY flexible, its relatively easy to use and has very good docs.
symcbean
+1  A: 

I have used some JavaScript plotting libraries and right now, I am the fondest of flot. My use case is mainly line charts on the order of thousands of points, and flot seems to handle it fine. The main driver for a client-side plotting library is the interactivity it gives you. I've also used jqPlot, but I find flot more performant with large datasets.

Kenny Peng