I have in mimd something as the following.
This structure contains, the x position where to place each stacked columns and a list of the values to be stacked; for instance if values contains 3; 2.5; 1.2; 0; 3.1 the column will have the first segment that goes (in the y axis) from 0 to 3, the second from 3 to 5.5, the third from 5.5 to 6.7 etc.
Then a method that places the stacked column in the control.
The above method has to be invoked for each of the stacked columns. The case in which values are in different number (e.g. first time the use calls the method passing a vector of 5 elements, second time the vector has 6 elements) should be managed in some way e.g. if values are missing it assumes they are zeros. Nice to have are a method to control the color of the segment and a method to add a legend and give a name to the segments (e.g. the legend will show the color of each segment and close to it a description of what the segment represents http:// 6.anychart.com/products/anychart/docs/users-guide/img/Sample s/sample-stacked-column-chart.png).
It is not possible to use struct StackedValue without doing major changes because ScatterDraw is based in DataSeries to insert series of data to be plotted.
I propose you to add BeginStacked() and EndStacked() to indicate that next series added are going to be stacked. This way the same plot could mix stacked series with any other.
Is it OK?
After fixing that everything is much clearer. It is much easier now to create a bar graph. It would be nice if it was possible to add the value/percentage of each section inside the section itself, as in the pie chart.