Graphing Dynamic Data Sets

by michael greene on November 2nd, 2009

I’ve been meaning to put this post together for a while now and had a few minutes this evening so it seemed fitting to give it a go. I’ve run into many situations both in corporate America, and in the private world where the need arises to graph dynamic data sets- be it in SharePoint or on your generic web based platform. There’s a lot of charting components out there, and I’ve searched high and low playing with demos from most of them. Obviously the Flash platform is second nature these days, however the Flash based components I looked at had some pretty steep licenses when you get into the multiple-domain deployment and cross-platform use (which I will assume is the Adobe licensing fees to the developer being passed onto the customer).

While looking for a set of components, I set myself a few basic requirements to help compare and contrast the wide array of options:

  • Licensing: Ideally I wanted an unlimited domain license so I could by one license and have that future growth capability without the impact of additional licensing. In addition, I was looking for that license to be no more than $400-500. While I was keen to integrate some slick dynamic charting capability, it wasn’t a move that there was a ton of capital available for at the time of research (we’re all pinching pennies these days, after all).
  • Chart Types: The big chart types I wanted were areas, pies and columns, and a way to generate a pseudo sparkline. That said, it’s pretty easy to generate a sparkline-esque graphic by removing your axis labels and setting the chart to a small area or line, so most packages that don’t explicitly offer sparkline capabilities still met my requirements.
  • Platform: I wanted a widely accepted platform, either Flash or Silverlight were ideal- especially in the corporate world, random third-party plugins and platforms just aren’t generally accepted, and the leg work to get them approved for work, packaged and deployed through an enterprise is just not acceptable overhead.

As I went through the various options, comparing them to my requirements, I selected Visifire, a Silverlight and WPF powered data visualization component. What I really liked about Visifire was the online Chart Designer which allows you to manipulate many of the chart parameters and input dummy data to see how the source structure is built. This enabled far more rapid deployment as I didn’t have to spend hours deciphering the markup and figuring out the integration. Once you’ve got a handle on how the source is structured it’s a simple task of just using your platform to dynamically build that source and make the Javascript call to push the data to the chart and initialize the chart object. When something does go awry, which it’s bound to while you play around, there’s a very nice debugging tool built into Visifire that automatically initializes instead of displaying the chart and helps you locate the bottleneck.

The API is very simple to learn and overall the package is pretty lightweight. All of the calls required for integration are just your run-of-the-mill Javascript, so it’s out out of the reach of your average, experienced developer. My first application of the component was on a PHP/MySQL web platform, but the nice structure of the component makes it quite simple to deploy on any platform, including SharePoint. Through the use of the owssvr.dll in Windows SharePoint Services and some simple XML parsing Javascript, you can easily dynamically graph list data among countless other potential uses.

2 Comments
  1. Matt Bramer permalink

    I know this is a bit of an old post, but have you seen or used? http://www.fusioncharts.com/free/ This may fit your requirements sometime in the future.

  2. Matt,

    I want to say that Fusion Charts has been updated since this post. I did take a look at them, but as I recall Visifire was more mature at the time this post was written. Maybe I should compose an update to this (I’m noticing I also suggested owssvr.dll to get XML data from SharePoint; obviously before I met Mr. Anderson!)

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS