15

I'm looking for a nice graphing library for JavaScript that can handle the following types of graphs:

  • Line Graphs
  • Histograms
  • Scatterplots
  • Motion Charts

I've tried Google's Chart Tools but they don't seem to have a nice histogram chart (nor can I get their motion chart to work properly, even served off my Apache web server).

I'm hoping that there's a decent library out there that can support all of these, however if I must, I may include 2 different libraries (looking at Google Chart Tools, gRafael, flotr, and rgraph right now - none of which seem to include ALL of the requirements I have).

lightningmanic
  • 2,025
  • 5
  • 20
  • 41

3 Answers3

18

I'm surprised no one has mentioned JQPlot yet. I'm not entirely sure it will do everything you need, but it's a very, very capable library. It's in jQuery, just to note.

Demos of JQPlot here

JQPlot can fit all your needs, it seems:

  • Line Graphs JQPlot supports these just fine, as you'd expect
  • Histograms Histograms are just bar charts, so that should be ok. A colour histogram would just consist of 1px wide bars
  • Scatterplots Scatter plots are also fine
  • Motion Charts I think you mean bubble plots, which JQPlot also does
Bojangles
  • 99,427
  • 50
  • 170
  • 208
3

graphael supports a number of graph types.

https://stackoverflow.com/questions/1571016/raphael-js-tutorial has some helpful tips.

Community
  • 1
  • 1
Mike Samuel
  • 118,113
  • 30
  • 216
  • 245
  • I would most likely only use that library for the dot chart type, which acts as a motion chart (gives the user some idea of the "3rd" dimension of data based on size of the dot). However, the "bar graph" they offer has no support of an axis, which seems rather silly. On another note - I've considered using a bar graph as a histogram by minimizing the space between bars, but not too many libraries offer this detailed support. – lightningmanic Jul 20 '11 at 18:36
  • http://hamiltonulmer.com/raphaelviz.html demos box plots with labels on both axes. It's built on top of raphael js too. – Mike Samuel Jul 20 '11 at 19:25
2

I ran across this question while researching the same topic. Since I wasn't entirely happy with any of the options out there, I created i3d3, a fairly simple library based on D3.js which may meet your needs. So far it is working well for our project (monitoring system for a high-energy particle astrophysics project), and at least one other project in the wild.

JohnJ
  • 4,753
  • 2
  • 28
  • 40
  • I've used i3d3 with good success. Although I'm hardly an expert on this topic I was impressed at how simple it was. – MRocklin Oct 30 '13 at 22:00