I was using add() and what do you know, addOrUpdate() works. There are still some hideous inefficiencies in DefaultTableXYDataset. I don't think I can use XYSeriesCollection because ChartFactory.createStackedXYAreaChart(...) expects a TableXYDataset. I'll have a look at CategoryTableXYDataset.

Thanks,
Joey

On Tue, Jun 14, 2016 at 5:23 PM, Sean Luke <[log in to unmask]> wrote:
On Jun 14, 2016, at 9:49 PM, Joseph F Harrison <[log in to unmask]> wrote:

> Option A) Version based on TimeTableXYDataset.

This is the wrong dataset.  Don't use it.

> Option B) Version that uses a DefaultTableXYDataset to store the data.

You might also try CategoryTableXYDataset or XYSeriesCollection.  Anyway...

> Here's what happens: DefaultTableXYDataset listens to the change event for all the XYSeries you add to it. Whenever you add a value to any series with a previously unseen x-value (e.g. x=1), it adds a dummy entry to all the other series. Then, when you try to add a value (at x=1) to another series, it sees the dummy value already there (at x=1) and throws a SeriesException: X-value already exists.

Are you using add() or are you using addOrUpdate()?  The latter would probably work, no?

Sean