One of the the main features of the upcoming version of GeneXproTools is data visualization. Some of our charts, usually the more innovative, are home brewed but there is no point in rolling out yet another scatter chart when there are so many free and for pay high quality alternatives. Or so I thought.
We decided a while ago to migrate the front end of GeneXproTools to WPF a decision that so far we are happy with, so logically we should pick up a WPF chart component. After some searching I found this thread at stackoverflow detailing most free and for pay alternatives but as soon as you dig into them you will find out they are divided into three groups:
- Very expensive charts
- Very slow charts
- Non WPF charts
Of course there are non WPF charts that are very expensive (and possibly slow) but the point here is that I could not find a reasonably priced WPF chart that would be able to show a few tens of thousands of points in scatter mode without stuttering or loading delays. The WPF chart that came closest to it was Microsoft’s Dynamic Data Display which has an interesting API but in the end it was dropped due to UI inconsistencies and because it looks like a dead project. The paid for alternatives that are reasonably priced were a disappointment. Some have good performance characteristics but their focus is different from ours. They are very quick when redrawing a limited number of points but they take wall time to redraw large numbers of points (in the tens of thousands ballpark).
Well, then what is the alternative? The alternative is to go back in time and use the Microsoft Chart for WinForms. It draws tens of thousands, if not hundreds, without breaking a sweat, includes many different chart types including a FastPoint and even less mainstream ones such as a simple Histogram and it is free. The chart itself was licensed to Microsoft by Dundas which appears to have dropped it. That is a pity because it included a very nice configuration tool that is not available with Microsoft’s version. The downside is that you cannot use window transparency in the application and some flickering when the chart is loaded for the very first time but it seems to be a fair compromise.
Did you check out Nevron Chart? A pic of one of the charts in your blog post would be nice!
I did check it out and ended up not trying because (so far) the WinForms Chart has all the features I need and it is free.
Pingback: MS Chart workaround (1 of n) « CodeForNothing
Hey there, check out http://www.scichart.com. It’s a new component (WPF/Silverlight), so still building up features you’d expect from many other charting libs, but the performance is very good. The online demo shows 1,000,000 datapoints and still interactive framerates.
Pingback: WPF Charting Performance Comparisons (the Battle Continues) | Colin Eberhardt's Adventures in .NET
Try GraphIT from TechNewLogic, you can find it on CodePlex here: http://graphit.codeplex.com
Disclaimer: I am the developer of GraphIT and owner of the developing company.
Hi ,
Try Sparrow Chart WPF Toolkit
http://sparrowtoolkit.codeplex.com
I spent quite a few hours on sparrow chart and made it work for my need finally. However, it is so slow that I’m looking for something new again. The project has not been updated for a while, so I’m not sure if there is any hope for improvements.
Sparrow chart is simple to use but very slow (with just a few hundred points). That’s how I came across this blog. I’m still on the hunt though since winforms is so passé.
We have developed the chart meeting very extreme performance needs. LightningChart Ultimate for WPF is the fastest chart, by great margin to others. In performance protocol by Visiblox, LightningChart is 800 times faster that the second fastest chart. It’s low-level DirectX accelerated instead of slow WPF graphics.
See WPF charts benchmark here:
http://www.arction.com/benchmark_wpf
LightningChart for WinForms is 172 times (static data) – 5000 times (real-time) faster than MS WinForms Chart, by the way.
See WinForms charts benchmark here:
http://www.arction.com/benchmark_winforms
[I’m the CTO of LightningChart]
We have 15 years experience writing charting code and leverage/scale as we go. We recently placed a Wpf Charting example and link to 7 meg Wpf Charting demo download at http://www.gigasoft.com/wpfchart.html
You can consider Nevron Chart for WPF (http://www.nevron.com), which features hardware accelerated rendering and is a magnitude faster than the mentioned charts. For example the controls supports 4M+ line / surfaces update in real time.
It seems this is not a real WPF chart all :-( NChartControl Wpf chart acts like a WindowsFormsHost and shows Win forms chart inside it. Couldn’t find any chart related properties like series in VS Properties window and everything has to be don in code behind. If I put other Wpf controls over it, it NChartControl Wpf always obstructs them from being visible.