Often when I’m trying to analyze data access patterns in code I’m optimizing, I find it useful to plot the locations of the data points on 2D (or ideally 3D) grids. A few days ago I was analyzing a complex data access routine and found my normal methods of doing this not really working. Although I can usually get by with doing this type of thing in the graphing calculator in OS X (Grapher.app), for this problem I wanted to be able to display numbers next to points and rotate and move the graph in real time (only half of which I could easily do in Grapher). Then, along came Vvidget to the rescue.

Vvidget is a chart and graphing system for OS X developed by VVI. Vvidget supports 2D/3D charts and graphs, layout of multiple graphics on a page (for creating complex data layout pages), premade palettes for a variety of graphs (including maps, 2D/3D charts, scatter and surface graphs) and can be integrated into Xcode to provide a framework for making automated graphs in Carbon and Cocoa applications (screenshots). Vvidget has a lot of features that should be of interest to most scientists and is currently used by many companies for process control (pharmaceutical, power), financial data services and instrument control. Vvidget also comes with a custom web server that allows for the creation of automated graphs that serves as the basis for WebObjects integration and can be utilized for reporting and contracting services. And best of all, it’s completely free!

Beyond my simple needs for what I wanted to do, Vvidget is one of those programs that seems to have a button or switch to control every parameter you could think of. With Vvidget you have the ability to create point tags (labels for specific points, which is what I wanted to be able to do), sophisticated vertex and knot editing, drag and drop palettes (and the ability to create custom palettes), importing data and export figures to PDF or as images. All of these features are in addition to the standard features you would expect to be present in any standard graphing application. The list of features is long (more information here), so it’s best that you check it out for yourself. Oh and did I mention, it’s free?

With this type of power and the ability to control so many parameters, there is a bit of a learning curve to using Vvidget. To help assist in the creation of graphics, Vvidget comes with a few wizards to make chart creation a bit easier, a couple of online training videos to set up correctly for security reasons and there is also an online documentation system. Some of the features seem to be buried within submenus or drop down menus making it a bit hard to just make a one-off graphic the minute you open the application (meaning you may want to find some time to sit down and fully explore the application, once you figure out where things are, making charts is a breeze). Also, during my initial learning phase of the application I was in contact with one of the developers of Vvidget who kindly offered quick answers and advice for doing what I wanted to do. Although somewhat daunting at first, I can’t help but be impressed with this application and I’m sure many others will feel the same way once they try it.