Symmetric waterfall chart
In some applications there are naturally two data "faces" that must match, say supply and demand, with a finite, unequal number of producers and users. A standard waterfall chart can easily show the individual producer and total change in supply from one period to the next, but it would be of great value to see supply and demand changes directly compared.
One way is to imagine the Highcharts population pyramid chart using waterfall charts on either side, with a common x axis, but separate y axes. The sum of changes to demand would typically be equal to the negative sum of changes to supply, the difference being stock changes or measurement errors. The offset from the common origo x would indicate the overall change in supply/demand.
I recognize that this is not a standard chart in any typical charts library, but I would hope that the idea could be of general interest and possibly add another unique feature to Highcharts. Since it conceptually uses the existing population and waterfall charts, I also hope it could be short way to implementing it, whether in horizontal or vertical format.
Kjell
-
Great, I'm happy to hear you figured it out! If you can share it in jsFiddle it would be nice.
-
Kjell commented
Hello Torstein,
I was able to put something together that in my view looks very nice. The basic implementation techniques came from the Highcharts example with synchronized charts. The key to making it work as a "canned" chart routine, however, turned out to be a very flexible "normalizing" processor for the two series.Kjell
-
Kjell commented
Hi Torstein,
Appreciate your interest in the idea.
I think your take on it is about what I had in mind too. The two waterfalls do not need to be one logical chart entity, but only drawn to be placed on top of each other. The first waterfall series (positive y side) could be a master, responsible for drawing the x and y axes. The master would need to extend the y-axis into the negative domain to be able to display all of the second (slave, negative y) series. The maximum of the second, slave series will need to be known and passed to the master. The slave series will then be positioned to draw exactly within the master's plot area, with identical y range and pixel length of the x axis. Labels should typically be placed in the waterfall boxes to avoid collisions.Hope this gives some convergence.
Kjell
-
Not yet sure I grasp it fully, but maybe we can make it work somehow by using different axes? For example, we can use two y axes and/or two X axes and plot each waterfall series to different places.
-
Kjell commented
Hello Torstein,
Here is a link to a ppt file with a simple sketch of the concept.
https://www.dropbox.com/s/ao0eg7v5rhmpytr/ChangeConceptChart.pptx?dl=0I can also send some sample data if you wish. Basically there will be two separate waterfall series with a possible option of having a final "reconciliation" value/bar that makes the sum of the two series equal (preferably automatically computed). This highlights that the chart is good for "account balancing".
Kjell
-
Thanks for your suggestion! Do you have a sketch or a screenshot of what you have in mind?