Which visualization libraries (plots, graphs, …) would you suggest to use in a standalone application (Linux, .Net, Windows, whatever). Reasonable performance would be nice as well.
Solved – Recommended visualization libraries for standalone applications
data visualizationsoftware
Related Solutions
I've never tried it, but there's an open source desktop / browser-based visualisation suite called WEAVE (short for Web-based Analysis and Visualization Environment). Like Tableau, it's intended to let you explore data through an interactive click-based interface. Unlike Tableau, it's open source: you can download the source code and install your own version on your own machine which can be as private or as public as you want it to be. Don't expect anything nearly as slick and user-friendly as Tableau, but it looks like an interesting, powerful project for someone prepared to put the time in to learning to use it.
- Source code on GitHub
- WEAVE project home page including live demos
- Short write-up on Flowing Data
- Some screenshots from their homepage:
Or, you can look into rolling your own. There are some really good open source javacript tools for supporting programming data visualisation in a browser. If you don't mind coding some Javascript and some kind of server-side layer to serve up the data, give these a try:
- Miso Dataset for getting, processing, managing and cleaning the data on the client side in Javascript (includes a CSV parser)
- D3 for interactive visualisations in SVG (works in every browser except IE8 and earlier and old (v1,v2) Android phones).
- gRaphael for interactive cross-browser standard charts
Raphael if you need SVG output to work in Internet Explorer 6, 7, and 8.
- D34Raphael combines D3's visualisation tools with Raphael's IE compatibility and abstraction
- If you're good with javascript, Raphael is a good way to build something custom-made.
- Here's a different approach to pumping D3 output through Raphael to be cross-browser
- Tip: If you decide to work with Raphael and the latest version is still 2.1.0, I'd advise applying this bug fix to the code).
If you're interested in the web programming option, here's a slightly more detailed write-up I wrote on Raphael and D3 for stackoverflow.
There are also some free (not open source) online datavis suites worth mentioning (probably not suitable for direct DB connection but worth a look):
- Raw by Density Design - blog introduction - (hit "Choose a data sample" to try it out) - mostly copy and paste based, not sure if it has an API that can connect to a database but good for trying things out quickly.
- Tableau Public - a free-to-use online version of Tableau. The catch is, the data you enter into it and any visualisations you create must be publicly available.
And something completely different: if you have a quality server lying around and you happen to want to make awesome google-maps style tile-based 'slippy' maps using open source tech (probably not what you're looking for - but it's possible!), check out MapBox TileMill. Have a look through the gallery of examples on their home page - some of them are truly stunning. See also related project Modest Maps, an open source Javascript library for interacting with maps developed by Stamen Design (a really highly rated agency specialising in interactive maps). It's considered to be an improvement on the more established OpenLayers. All open source.
WEAVE is the best GUI-based open-source tool I know of for personal visual analysis.
The other tools listed are top of the range tools for online publishing of visualisations (for example, D3 is used by and developed by the award-winning NY Times graphics team), and are more often used for visualisation in the context of public-facing communications than exploratory analysis, but they can be used for analysis too.
This seems very good one:
http://sourceforge.net/projects/cvhmm/
Some times ago I developed a HMM libs, but it is only with discrete states so no speech recognition. You can find it here. Adding the missing part should not be too hard, also because I used the Armadillo linear algebra lib for translating from some Matlab code that can handle any kind of data.
I studied a little bit the theory and the code from this C# super good library:
http://www.codeproject.com/Articles/541428/Sequence-Classifiers-in-Csharp-Part-I-Hidden-Marko
Hope it helps!
Best Answer
The Visualization Tool Kit VTK is pretty impressive for 3D visualizations of numerical data. Unfortunately, it is also pretty low level.
Graphviz is used pretty extensively for visualizing graphs and other tree-like data structures.
igraph can also be used for visualization of tree-like data structures. Contains nice interfaces to scripting languages such as R and Python along with a stand-alone C library.
The NCL (NCAR Command Language) library contains some pretty neat graphing routines- especially if you are looking at spatially distributed, multidimensional data such as wind fields. Which makes sense as NCAR is the National Center for Atmospheric Research.
If you are willing to relax the executable requirement, or try a tool like py2exe, there is the possibility of leveraging some neat Python libraries and applications such as:
MayaVi: A higher level front-end to VTK developed by Enthought.
Chaco: Another Enthought library focused on 2D graphs.
Matplotlib: Another 2D plotting library. Has nice support for TeX-based mathematical annotation.
Basemap: An add-on to Matplotlib for drawing maps and displaying geographic data (sexy examples here).
If we were to bend the concept of "standalone application" even further to include PDF files, there are some neat graphics libraries available to LaTeX users:
Asymptote can generate a variety of graphs, but its crown jewel is definitely the ability to embed 3D graphs into PDF documents that can be manipulated (zoomed, rotated, animated, etc) by anyone using the Adobe Acrobat reader (example).
PGF/TikZ provides a wonderful vector drawing language to TeX documents. The manual is hands-down the most well-written, comprehensive and beautiful piece of documentation I have ever seen in an open source project. PGFPlots provides an abstraction layer for drawing plots. A wondeful showcase can be found at TeXample.
PSTricks served as an inspiration for TikZ and allows users to leverage the power of the PostScript language to create some neat graphics.
And for kicks, there's DISLIN, which has a native interface for
Fortran
! Not open source or free for commercial use though.