netpork netpork - 6 months ago 53
Android Question

androidplot - how can I empty SimpleXYSeries

i presume it is pretty basic, but I can't find the solution.
I have something like this:

public SimpleXYSeries historySeries;
historySeries = new SimpleXYSeries("something");


then in background thread I add some data to the series:

historySeries.addLast(newRoll, newAzimuth);


Question is, how can I easily just remove all the data entries from the series, when needed?

Right now I have something like:

public void initSeries() {
historyPlot.removeSeries(historySeries);
historySeries = null;
historyPlot.clear();
historySeries = new SimpleXYSeries("something");
historyPlot.addSeries(historySeries, lpf);
}


It works, but graph flickers when I do addSeries again.

EDIT:

I have resolved the issue by making my own version of SimpleXYSeries and added a method:

public void removeXY() {
lock.writeLock().lock();
try {
xVals.clear();
yVals.clear();
} finally {
lock.writeLock().unlock();
}
}

Answer

I have always used clear() to remove the plot and never had the graph flicker. Are you trying this on just an emulator or also on a real device?

I also found these method:

historyPlot.getSeriesSet.removeAll(historySeries);
historyPlot.removeMarkers();

I am not sure if it will be any better for a flicker

Comments