private void refreshSeries(Map<Long, Long> data, Comparable<?> seriesKey) { int i = 0; double[][] seriesData; synchronized(data) { seriesData = new double[2][data.size()]; for(Map.Entry<Long, Long> xy: data.entrySet()) { seriesData[0][i] = xy.getKey()/1000.0; seriesData[1][i] = xy.getValue(); i++; } } xyDataset.addSeries(seriesKey, seriesData); }
DefaultXYDataset ds = new DefaultXYDataset(); //generate random data as an example double[][] data = new double[2][1000]; for ( int i = 0; i < 1000; i++ ){ data[0][i] = i; data[1][i] = (Math.random() * 100); } ds.addSeries("Time", data); JFreeChart chart = ChartFactory.createXYLineChart("Test", "Time", "Y-Axis", ds, PlotOrientation.VERTICAL, false,false,false);
@Override public synchronized void refreshView() { logger.debug("refreshing histogram"); Map<Integer, Integer> histogramData = histogram.getCurrentHisogram(); double[][] data = new double[2][histogramData.size()]; int i =0; for(Map.Entry<Integer, Integer> entry: histogramData.entrySet()) { data[0][i] = entry.getKey().doubleValue(); data[1][i] = entry.getValue().doubleValue(); i++; } xyDataset.addSeries(SERIES_KEY, data); }
@Override public void refreshView() { logger.debug("refreshing query Time History"); Map<Integer, Integer> histogramData = queryTimeStatistic.getCurrentHistory(); int size = histogramData.size(); double[][] data = new double[2][size]; int i=0; for(Map.Entry<Integer, Integer> entry: histogramData.entrySet()) { data[0][i] = entry.getKey().doubleValue(); data[1][i] = entry.getValue().doubleValue(); i++; } dataset.addSeries(SERIES_KEY, data); }
private void addSeries(Map<Long, CacheData> data, String element, String label) { if (data == null) { return; } int i = 0; double[][] seriesData = new double[2][data.size()]; Function<CacheData, Double> cacheDataValue = cacheDataMethodMap.get(element) .andThen(o -> o.toString()).andThen(Double::valueOf); Function<Long, Double> timePoint = (time) -> time / 1000.0; for(Map.Entry<Long, CacheData> xy: data.entrySet()) { seriesData[0][i] = timePoint.apply(xy.getKey()); seriesData[1][i] = cacheDataValue.apply(xy.getValue()); i++; } xyDataset.addSeries(I18n.get(label), seriesData); }
/** * @param prcData * @return */ public static DefaultXYDataset createXYDataset(List<double[][]> prcData) { DefaultXYDataset dataset = new DefaultXYDataset(); double[][] data = new double[2][11]; double[] avPrec = new double[11]; double[] avRec = new double[11]; for (int i = 0; i < prcData.size(); i++) { double[] r = prcData.get(i)[0]; for (int j = 0; j < r.length; j++) { avRec[j] += r[j]; } double[] p = prcData.get(i)[1]; for (int j = 0; j < p.length; j++) { avPrec[j] += p[j]; } } for (int i = 0; i < avPrec.length; i++) { avPrec[i] = avPrec[i] / prcData.size(); avRec[i] = avRec[i] / prcData.size(); } data[0] = avRec; data[1] = avPrec; dataset.addSeries("PR-Curve", data); return dataset; }
public void setImageDataBounds(Rectangle2D imageDataBounds) { synchronized (imageLock) { this.imageDataBounds = (Rectangle2D) imageDataBounds.clone(); DefaultXYDataset xyDataset = new DefaultXYDataset(); xyDataset.addSeries("Image Data Bounds", new double[][]{ {imageDataBounds.getMinX(), imageDataBounds.getMaxX()}, {imageDataBounds.getMinY(), imageDataBounds.getMaxY()} }); setDataset(xyDataset); getDomainAxis().setRange(imageDataBounds.getMinX(), imageDataBounds.getMaxX()); getRangeAxis().setRange(imageDataBounds.getMinY(), imageDataBounds.getMaxY()); } }
public void setImageDataBounds(Rectangle2D imageDataBounds) { synchronized (imageLock) { this.imageDataBounds = (Rectangle2D) imageDataBounds.clone(); DefaultXYDataset xyDataset = new DefaultXYDataset(); xyDataset.addSeries("Image Data Bounds", new double[][]{ {imageDataBounds.getMinX(), imageDataBounds.getMaxX()}, {imageDataBounds.getMinY(), imageDataBounds.getMaxY()} }); setDataset(xyDataset); getDomainAxis().setRange(imageDataBounds.getMinX(), imageDataBounds.getMaxX()); getRangeAxis().setRange(imageDataBounds.getMinY(), imageDataBounds.getMaxY()); } }
public static XYDataset createXYDataSet(List<XYScatter> dataList, String dataName) { DefaultXYDataset dataSet = new DefaultXYDataset(); if(dataList==null ||dataList.size()==0){ return dataSet; } int size = dataList.size(); double[][] data = new double[2][size]; for (int i = 0; i < size; i++) { XYScatter behaviorBO = dataList.get(i); double x = behaviorBO.getX(); double y = behaviorBO.getY(); data[0][i] = x; data[1][i] = y; } dataSet.addSeries(dataName,data); return dataSet; } public static JFreeChart createChart(XYDataset xydataset, List<XYScatter> dataList,
public ScatterplotRenderer(double[] gold, double[] prediction) { if (gold.length != prediction.length) { throw new IllegalArgumentException( "A equal number of gold and prediction values is required."); } if (gold.length == 0) { throw new IllegalArgumentException("Cannot draw without values."); } min = Math.min(getMin(gold), getMin(prediction)); max = Math.max(getMax(gold), getMax(prediction)); DefaultXYDataset dataset = new DefaultXYDataset(); double[][] data = new double[2][gold.length]; data[0] = gold; data[1] = Arrays.copyOf(prediction, prediction.length); dataset.addSeries("Scatterplot", data); aDataset = dataset; }
public ScatterplotRenderer(double[] gold, double[] prediction) { if (gold.length != prediction.length) { throw new IllegalArgumentException( "A equal number of gold and prediction values is required."); } if (gold.length == 0) { throw new IllegalArgumentException("Cannot draw without values."); } min = Math.min(getMin(gold), getMin(prediction)); max = Math.max(getMax(gold), getMax(prediction)); DefaultXYDataset dataset = new DefaultXYDataset(); double[][] data = new double[2][gold.length]; data[0] = gold; data[1] = Arrays.copyOf(prediction, prediction.length); dataset.addSeries("Scatterplot", data); aDataset = dataset; }
ds.addSeries( "samples "+n, data );
ds.addSeries( "samples "+n, data );
ds.addSeries( "samples "+n, data );
ds.addSeries( "samples "+n, data );
String title = "Nspots vs Time for something."; DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("Nspots", data);
private void addArrayDataToSeries(int domainAxisIndex, int rangeAxisIndex, int datasetIndex, String yName, MetadataElement metadataElement, double[] arrayIndices, String recordElementName) { double[] yAxisData = new double[arrayIndices.length]; ProductData attributeData = metadataElement.getElement(recordElementName).getAttribute(yName).getData(); Arrays.setAll(yAxisData, attributeData::getElemDoubleAt); String seriesKey = String.format("%s/%s", recordElementName, yName); DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries(seriesKey, new double[][]{arrayIndices, yAxisData}); xyPlot.setDataset(datasetIndex, dataset); xyPlot.mapDatasetToRangeAxis(datasetIndex, rangeAxisIndex); xyPlot.mapDatasetToDomainAxis(datasetIndex, domainAxisIndex); xyPlot.setRenderer(datasetIndex, creatItemRenderer(datasetIndex, ProductData.TYPE_INT32)); }
private static JFreeChart plotChart(List<ExtendedResult> results) { double[][] dataFScore = new double[2][results.size()]; double[][] dataPrecision = new double[2][results.size()]; double[][] dataRecall = new double[2][results.size()]; for (int i = 0; i < results.size(); i++) { ExtendedResult r = results.get(i); dataFScore[0][i] = r.getIterationNumber(); dataFScore[1][i] = r.getFscore(); dataPrecision[0][i] = r.getIterationNumber(); dataPrecision[1][i] = r.getPrecision(); dataRecall[0][i] = r.getIterationNumber(); dataRecall[1][i] = r.getRecall(); } DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("F-Score", dataFScore); dataset.addSeries("Precision", dataPrecision); dataset.addSeries("Recall", dataRecall); JFreeChart chart = ChartFactory.createXYLineChart(null, "Increment #", "Value", dataset, PlotOrientation.VERTICAL, true, false, false); chart.getXYPlot().setRenderer(new XYSplineRenderer()); chart.getXYPlot().getRangeAxis().setRange(0, 1.0); NumberAxis xAxis = new NumberAxis(); xAxis.setTickUnit(new NumberTickUnit(1)); xAxis.setAutoRange(true); xAxis.setAutoRangeIncludesZero(false); xAxis.setTickUnit(new NumberTickUnit(1)); chart.getXYPlot().setDomainAxis(xAxis); return chart; }
String title = "Nspots vs Time for something."; DefaultXYDataset dataset = new DefaultXYDataset(); dataset.addSeries("Nspots", data);
private void configureRangeAxis(int index, MetadataElement metadataElement, String yAttributeName, String[] recordElementNames, String refRecordName, double[] recordIndices) { double[] yAxisData = new double[recordIndices.length]; Arrays.setAll(yAxisData, i -> getDataAsDouble(metadataElement.getElement(recordElementNames[i]).getAttribute(yAttributeName).getData())); DefaultXYDataset dataset2 = new DefaultXYDataset(); dataset2.addSeries(yAttributeName, new double[][]{recordIndices, yAxisData}); xyPlot.setDataset(index, dataset2); xyPlot.mapDatasetToRangeAxis(index, index); int yDataType = getAttributeType(metadataElement.getElement(refRecordName).getAttribute(yAttributeName)); ValueAxis yAxis = configureRangeIndex(index, yDataType); String yUnit = metadataElement.getElement(refRecordName).getAttribute(yAttributeName).getUnit(); yAxis.setLabel(getYAxisLabel(yAttributeName, yUnit)); xyPlot.setRenderer(index, creatItemRenderer(index, yDataType)); }