List of usage examples for org.jfree.data.xy DefaultXYDataset addSeries
public void addSeries(Comparable seriesKey, double[][] data)
From source file:edu.cmu.sv.modelinference.eventtool.EventVisualizer.java
private void visualizeClasses(ClassificationResult classes, Map<EventClass, Color> clusterColors) { DataChart clustersDataChart = new DataChart("Classification chart"); JFreeChart clusterChart = clustersDataChart.chart(""); XYPlot clusterPlot = clusterChart.getXYPlot(); int dataSetIndex = 0; Map<Integer, EventClass> dataSetIdx2EvtClass = new HashMap<>(); //ugly DefaultXYDataset eventDataSet = new DefaultXYDataset(); for (EventClass evtCl : classes.getEventClasses()) { double[][] clusterDataSet = new double[][] { new double[evtCl.getEvents().size()], new double[evtCl.getEvents().size()] }; int i = 0; for (Event data : evtCl.getEvents()) { clusterDataSet[0][i] = 0;// ww w .j a v a 2 s. co m clusterDataSet[1][i] = data.getFeature().getData(); i++; } eventDataSet.addSeries("Class " + evtCl.getClassId(), clusterDataSet); dataSetIdx2EvtClass.put(dataSetIndex, evtCl); dataSetIndex++; } clusterPlot.setDataset(eventDataSet); for (Entry<Integer, EventClass> ent : dataSetIdx2EvtClass.entrySet()) { int idx = ent.getKey(); Color clr = clusterColors.get(ent.getValue()); logger.info("Setting color " + clr + " for event class " + ent.getValue().getClassId() + " with index " + idx); clusterPlot.getRendererForDataset(clusterPlot.getDataset(0)).setSeriesPaint(idx, clr); } clustersDataChart.pack(); RefineryUtilities.centerFrameOnScreen(clustersDataChart); clustersDataChart.setVisible(true); }
From source file:de.bund.bfr.knime.pmmlite.views.chart.ChartCreator.java
private XYDataset createSampleDataSet(Plotable plotable, String id, double minX, double maxX) throws ParseException, UnitException { double[][] samplePoints = plotable.getFunctionSamplePoints(varX, varY, minX, maxX); if (samplePoints != null) { DefaultXYDataset sampleDataset = new DefaultXYDataset(); sampleDataset.addSeries(legend.get(id), samplePoints); return sampleDataset; }/*from ww w . jav a 2s . c o m*/ return null; }
From source file:de.bund.bfr.knime.pmmlite.views.chart.ChartCreator.java
private XYDataset createFunctionDataSet(Plotable plotable, String id, double minX, double maxX) throws ParseException, UnitException { double[][] points = plotable.getFunctionPoints(varX, varY, minX, maxX); if (points == null) { return null; }/*from w w w. ja v a2s . co m*/ double[][] functionErrors = null; if (showConfidence || showPrediction) { functionErrors = plotable.getFunctionErrors(varX, varY, minX, maxX, showPrediction); } if (functionErrors != null) { YIntervalSeriesCollection functionDataset = new YIntervalSeriesCollection(); YIntervalSeries series = new YIntervalSeries(legend.get(id)); for (int j = 0; j < points[0].length; j++) { double error = Double.isNaN(functionErrors[1][j]) ? 0.0 : functionErrors[1][j]; series.add(points[0][j], points[1][j], points[1][j] - error, points[1][j] + error); } functionDataset.addSeries(series); return functionDataset; } else { DefaultXYDataset dataSet = new DefaultXYDataset(); dataSet.addSeries(legend.get(id), points); return dataSet; } }
From source file:org.jfree.data.xy.junit.DefaultXYDatasetTest.java
/** * Confirm that cloning works./* ww w .j a v a 2 s .c o m*/ */ public void testCloning() { DefaultXYDataset d1 = new DefaultXYDataset(); DefaultXYDataset d2 = null; try { d2 = (DefaultXYDataset) d1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(d1 != d2); assertTrue(d1.getClass() == d2.getClass()); assertTrue(d1.equals(d2)); // try a dataset with some content... double[] x1 = new double[] { 1.0, 2.0, 3.0 }; double[] y1 = new double[] { 4.0, 5.0, 6.0 }; double[][] data1 = new double[][] { x1, y1 }; d1.addSeries("S1", data1); try { d2 = (DefaultXYDataset) d1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(d1 != d2); assertTrue(d1.getClass() == d2.getClass()); assertTrue(d1.equals(d2)); // check that the clone doesn't share the same underlying arrays. x1[1] = 2.2; assertFalse(d1.equals(d2)); x1[1] = 2.0; assertTrue(d1.equals(d2)); }
From source file:org.jfree.data.xy.XYSeriesTest.java
/** * Some checks for an example using the toArray() method. *///from ww w. j a v a2s .c o m @Test public void testToArrayExample() { XYSeries s = new XYSeries("S"); s.add(1.0, 11.0); s.add(2.0, 22.0); s.add(3.5, 35.0); s.add(5.0, null); DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("S", s.toArray()); assertEquals(1, dataset.getSeriesCount()); assertEquals(4, dataset.getItemCount(0)); assertEquals("S", dataset.getSeriesKey(0)); assertEquals(1.0, dataset.getXValue(0, 0), EPSILON); assertEquals(2.0, dataset.getXValue(0, 1), EPSILON); assertEquals(3.5, dataset.getXValue(0, 2), EPSILON); assertEquals(5.0, dataset.getXValue(0, 3), EPSILON); assertEquals(11.0, dataset.getYValue(0, 0), EPSILON); assertEquals(22.0, dataset.getYValue(0, 1), EPSILON); assertEquals(35.0, dataset.getYValue(0, 2), EPSILON); assertTrue(Double.isNaN(dataset.getYValue(0, 3))); }
From source file:OAT.trading.thread.BacktestThread.java
private void showEquityChart(String title, double[][] data) { if (data == null || data.length == 0) { return;// w w w .j a va 2 s. co m } DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("", data); JFreeChart chart = ChartFactory.createTimeSeriesChart("", "", "", dataset, false, false, false); new BasicChartFrame(title, chart).setVisible(true); }
From source file:analysis.postRun.PostRunWindow.java
/** Method which creates and returns a graph in a chartpanel. * /*from www. j a v a 2 s. c o m*/ * @param dSeries * Which dataSeries to make a graph of. * title * Title for the graph. * xTitle * Title for the x axis. * yTitle * Title for the y axis. * legend * Whether or not to include a legend - true if multiple series are to be shown. */ private ChartPanel getSChart(double[][][] dSeries, double[][][] err, String title, String xTitle, String yTitle, Boolean legend, Boolean percentage) { int seriesNum = dSeries.length; DefaultXYDataset temp = new DefaultXYDataset(); for (int j = 0; j < seriesNum; j++) { temp.addSeries(j, dSeries[j]); } JFreeChart chart = ChartFactory.createXYLineChart(title, xTitle, yTitle, temp, PlotOrientation.VERTICAL, legend, true, false); if (percentage) { chart.getXYPlot().getRangeAxis().setRange(0.0, 100.0); } for (int i = 0; i < seriesNum; i++) { plotErrorBars(chart, dSeries[i], err[i]); } if (save) { try { //System.out.println("Saving charts."); ChartUtilities.saveChartAsPNG( new File(currFile.substring(0, currFile.length() - 4) + title + "Chart"), chart, 1200, 800); } catch (IOException e) { System.err.println(e.getMessage()); //e.printStackTrace(); } } return new ChartPanel(chart); }
From source file:org.jax.maanova.test.gui.VolcanoPlotPanel.java
private void updateDataPoints() { this.cachedXYData = null; XYProbeData xyData = this.getXYData(); DefaultXYDataset xyDataSet = new DefaultXYDataset(); int[] selectedIndices = this.selectedIndices; if (selectedIndices.length == 0) { xyDataSet.addSeries("data", new double[][] { xyData.getXData(), xyData.getYData() }); } else {// ww w . ja v a 2s . co m double[] xData = xyData.getXData(); double[] yData = xyData.getYData(); int[] dataIndices = xyData.getProbeIndices(); double[] normalXData = new double[xData.length - selectedIndices.length]; double[] normalYData = new double[xData.length - selectedIndices.length]; double[] selectedXData = new double[selectedIndices.length]; double[] selectedYData = new double[selectedIndices.length]; int selectionIndex = 0; for (int i = 0; i < xData.length; i++) { if (selectionIndex < selectedIndices.length && dataIndices[i] == selectedIndices[selectionIndex]) { // this is one of the selected points selectedXData[selectionIndex] = xData[i]; selectedYData[selectionIndex] = yData[i]; selectionIndex++; } else { // this is not a selected point normalXData[i - selectionIndex] = xData[i]; normalYData[i - selectionIndex] = yData[i]; } } xyDataSet.addSeries("data", new double[][] { normalXData, normalYData }); xyDataSet.addSeries("selected data", new double[][] { selectedXData, selectedYData }); } JFreeChart scatterPlot = ChartFactory.createScatterPlot(this.chartConfigurationDialog.getChartTitle(), this.chartConfigurationDialog.getXAxisLabel(), this.chartConfigurationDialog.getYAxisLabel(), xyDataSet, PlotOrientation.VERTICAL, false, false, false); XYPlot xyPlot = (XYPlot) scatterPlot.getPlot(); xyPlot.setRenderer(PlotUtil.createSimpleScatterPlotRenderer()); if (this.viewArea != null) { PlotUtil.rescaleXYPlot(this.viewArea, xyPlot); } this.saveGraphImageAction.setChart(scatterPlot); this.chartPanel.setChart(scatterPlot); }
From source file:net.bioclipse.chart.ChartUtils.java
public static void handleCellChangeEvent(CellChangedEvent e) { // Iterator<CellChangeListener> iterator = listeners.iterator(); // while( iterator.hasNext() ) // {//w w w . j av a2 s. c om // 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); } } }