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(...)
<http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/ChartFactory.html#createStackedXYAreaChart-java.lang.String-java.lang.String-java.lang.String-org.jfree.data.xy.TableXYDataset->
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
>