List of usage examples for org.jfree.data.xy DefaultXYDataset removeSeries
public void removeSeries(Comparable seriesKey)
From source file:net.bioclipse.chart.ChartUtils.java
public static void handleCellChangeEvent(CellChangedEvent e) { // Iterator<CellChangeListener> iterator = listeners.iterator(); // while( iterator.hasNext() ) // {/*from w w w . java2s .c o m*/ // CellChangeListener listener = iterator.next(); // listener.handleCellChangeEvent(e); // } Set<JFreeChart> keySet = chartManager.keySet(); Iterator<JFreeChart> iterator = keySet.iterator(); while (iterator.hasNext()) { JFreeChart chart = iterator.next(); ChartDescriptor desc = chartManager.get(chart); String domainLabel = desc.getXLabel(); String rangeLabel = desc.getYLabel(); CellData data = e.getCellData(); if (domainLabel.equals(data.getColName()) || rangeLabel.equals(data.getColName())) { DefaultXYDataset dataset = (DefaultXYDataset) chart.getXYPlot().getDataset(); int itemCount = dataset.getItemCount(0); double[] yValues = new double[itemCount]; double[] xValues = new double[itemCount]; for (int i = 0; i < itemCount; i++) { double x = dataset.getXValue(0, i); double y = dataset.getYValue(0, i); xValues[i] = x; yValues[i] = y; } int indices[] = desc.getSourceIndices(); if (domainLabel.equals(e.getCellData().getColName())) { int rowIndex = data.getRowIndex(); for (int i = 0; i < indices.length; i++) { if (indices[i] == rowIndex) { xValues[i] = data.getValue(); } } } else if (rangeLabel.equals(e.getCellData().getColName())) { int rowIndex = data.getRowIndex(); for (int i = 0; i < indices.length; i++) { if (indices[i] == rowIndex) { yValues[i] = data.getValue(); } } } double[][] chartData = new double[2][]; chartData[0] = xValues; chartData[1] = yValues; dataset.getSeriesKey(0); Comparable seriesKey = dataset.getSeriesKey(0); dataset.removeSeries(seriesKey); dataset.addSeries(seriesKey, chartData); } } }