Tornado Plots

Mar 8, 2012 at 4:07 AM

I'm looking at OxyPlot for use in our application and I'm very impressed by the functionality but also the incredible speed.

Since our application is very heavy on statistical analysis, we require rendering of Tornado Plots ( I tried to recreate this with the bar chart in OxyPlot, but I cannot get it to work. One reason for this is that the bar plot assumes there is only a single value, where the tornado plots usually have two (a minimum and a maximum). Furthermore I need each bar to have a different color. If I use a collection of 'items' I don't see a way to specify a minimum and a maximum value as well as a bar color. 

It would be great if this could be considered as a feature in the near future.

I'm hoping that with a simple extension this can be achieved, but as I only have looked at the toolkit recently and the documentation currently is rather 'thin' I have no idea where to start doing that. If it is relatively straight forward to implement this type of plot, could anyone give me a shove in the right direction?

Mar 9, 2012 at 7:44 AM

It is possible to create a tornado plot by two stacked BarSeries where you set the BaseValue property. The Maximum and Minimum values must be relative to the BaseValue. I will add an example on this.

But I see a custom "TornadoBarSeries" would be easier to use, and it should be quite easy to implement.

- should it only support horizontal bars (not columns)?

- two colours only? (one for the minimum and one for the maximum values)

- labels at the minimum and maximum? (I didn't quite understand the numbers on the wikipedia page)

- automatic sorting? (sort by length of bar?)

Mar 9, 2012 at 2:54 PM


Only horizontal bars would be needed. Indeed they are sorted such that the longest bar is always at the top.

Yes the labels at the min and the max are needed. Usually they have two colors but in the plots that we have in our current product, each of the bars have a different color. If we would be able to provide a collection of colors that would be best.

Mar 12, 2012 at 5:25 AM

I added a "TornadoBarSeries" where you can specify a BaseValue and a collection of Minimum, Maximum values. Sorting of the items is not implemented, that should be done by the code that creates the series. It is possible to set the color of the "minimum" and "maximum" parts of the bars in the TornadoBarSeries, or for each item.

See the TornadoBarSeries example in the ExampleLibrary/ExampleBrowser.