# Smoothing function for displaying stacked lines without the smoothing introducing crossings

I'm displaying time-series data as a "stacked line" or "stacked area" chart. (E.g. with percentage data, data points at 10%, 20% and 30% are displayed at 10%, 30% and 60% on the chart.) Unsmoothed lines through the data points obviously never cross (and never go below the minimum data value or above the maximum total; think 0% and 100% again for instance). I'm looking for a smoothing function that will preserve these properties; that is, the smoothed lines should never cross (including between data points), should never exceed the maximum/minimum values given by the data points, and (ideally) should only touch at data points. Does such a beast exist?

As is probably apparent, I'm not a statistician. The smoothing here is only for visual appeal, so solutions that are theoretically less than ideal are still definitely on the cards.

• A linear interpolator will surely work :-).
– whuber
Jan 9, 2012 at 15:25

## 1 Answer

If all series have the same number of data points at the same x positions, then a LOESS smoother with lambda=0 (essentially a weighted moving average) will satisfy your constraints.

At each position, you're computing $z_i = \frac{w_i * y_i}{n}$, where $w$ is the local smoothing function around the position. Given that $w_i$ and $n$ are the same for each series, if all the $y_i$ in one series are greater than or equal to the corresponding $y_i$ in another series, then the $z_i$ will follow the same rule. The external bounds condition is met by applying the above logic with a series of all min values or all max values.

This smoother will not usually go through the data points.

• Some more thought has convinced me that I cannot get a (natural-looking) smoother that satisfies my requirements above and also passes through the data points. (Let two series coincide on an upward trend then diverge with one continuing upwards and the other going back down. Think about the derivatives at the point where they part company.) Looks like this is the best I'm gonna get. Jan 16, 2012 at 13:15