List of usage examples for org.jfree.data.xy XYSeriesCollection addSeries
public void addSeries(XYSeries series)
From source file:org.gephi.statistics.plugin.Degree.java
/** * * @return/*from w w w. ja v a 2 s . com*/ */ public String getReport() { String report = ""; if (isDirected) { report = getDirectedReport(); } else { //Distribution series XYSeries dSeries = ChartUtils.createXYSeries(degreeDist, "Degree Distribution"); XYSeriesCollection dataset1 = new XYSeriesCollection(); dataset1.addSeries(dSeries); JFreeChart chart1 = ChartFactory.createXYLineChart("Degree Distribution", "Value", "Count", dataset1, PlotOrientation.VERTICAL, true, false, false); chart1.removeLegend(); ChartUtils.decorateChart(chart1); ChartUtils.scaleChart(chart1, dSeries, false); String degreeImageFile = ChartUtils.renderChart(chart1, "degree-distribution.png"); NumberFormat f = new DecimalFormat("#0.000"); report = "<HTML> <BODY> <h1>Degree Report </h1> " + "<hr>" + "<br> <h2> Results: </h2>" + "Average Degree: " + f.format(avgDegree) + "<br /><br />" + degreeImageFile + "</BODY></HTML>"; } return report; }
From source file:omr.glyph.ui.TextAreaBrowser.java
private void showHistogram(TextArea area, Oriented orientation) { int[] histo = area.getHistogram(orientation); boolean vertical = orientation.isVertical(); Rectangle rect = area.getAbsoluteContour(); // Projection data XYSeries dataSeries = new XYSeries("Foreground Pixels"); int offset = vertical ? rect.x : rect.y; for (int i = 0; i < histo.length; i++) { if (vertical) { dataSeries.add(offset + i, histo[i]); } else {//w w w . j a va2 s . c om dataSeries.add(i - offset - histo.length + 1, histo[histo.length - 1 - i]); } } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dataSeries); // Chart JFreeChart chart; if (vertical) { chart = ChartFactory.createXYAreaChart("Vertical Projections", // Title "Abscissa", "Cumulated Pixels", dataset, // Dataset PlotOrientation.VERTICAL, // orientation, false, // Show legend false, // Show tool tips false // urls ); } else { // Thresholds addLine(dataset, area, "Base", area.getBaseline()); addLine(dataset, area, "Median", area.getMedianLine()); addLine(dataset, area, "Top", area.getTopline()); chart = ChartFactory.createXYLineChart( "Horizontal Projections top:" + area.getTopline() + " median:" + area.getMedianLine() + " base:" + area.getBaseline(), // Title "Ordinate", "Cumulated Pixels", dataset, // Dataset PlotOrientation.HORIZONTAL, // orientation, true, // Show legend true, // Show tool tips false // urls ); } // Hosting frame ChartFrame frame = new ChartFrame("Histogram of " + rect, chart, true); frame.pack(); frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); RefineryUtilities.centerFrameOnScreen(frame); frame.setVisible(true); }
From source file:regression.gui.RegressionChart.java
/** * Creates a sample dataset./*from w ww. j av a 2 s .c o m*/ * * @return a sample dataset. */ private XYDataset createLogisticDataset(List<Point> countedPoints, List<Point> points, List<Point> finalProbPoints) { final XYSeries series1 = new XYSeries("Funkcja regresji"); final XYSeries series0 = new XYSeries("Funkcja podzialu y=0,5"); //stara for (Iterator<Point> it = finalProbPoints.iterator(); it.hasNext();) { Point point = it.next(); series1.add(point.getX(), point.getY()); } // final XYSeries series2 = new XYSeries("Punkty Klasy A"); // final XYSeries series3 = new XYSeries("Punkty Klasy B"); int pointToGetFuncton = countedPoints.size() / 2; // for (Iterator<Point> it = points.iterator(); it.hasNext();) { // Point point = it.next(); // if(checkIfPointAboveLogistic(countedPoints.get(pointToGetFuncton),point)){ // series2.add(point.getX(), point.getY()); // }else{ // series3.add(point.getX(), point.getY()); // } // // } //nowa final XYSeries series2 = new XYSeries("Punkty Klasy 1"); final XYSeries series3 = new XYSeries("Punkty Klasy 0"); int ite = 0; for (Iterator<Point> it = points.iterator(); it.hasNext();) { Point point = it.next(); if (countedPoints.get(ite).getY() > 0.5) { series2.add(point.getX(), point.getY()); } else { series3.add(point.getX(), point.getY()); } // if(checkIfPointAboveLogistic(new Point(0.0, 0.5),countedPoints.get(ite))){ // series2.add(point.getX(), point.getY()); // }else{ // series3.add(point.getX(), point.getY()); // } ite++; } Collections.sort(points, new PointXComparator()); Double lastPoint = points.get(points.size() - 1).getX(); Double logisticPoint = 0.5; series0.add(0, logisticPoint); series0.add(lastPoint, logisticPoint); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series2); dataset.addSeries(series1); dataset.addSeries(series3); dataset.addSeries(series0); return dataset; }
From source file:crossspectrumapp.CrossSpectrumApp.java
private void plotData(double[] frequency, double[] power, double[] phase, String title, String subTitleText1, String subTitleText2) throws WebUtilException { XYSeries asdSeries = new XYSeries("asd"); XYSeries phiSeries = new XYSeries("phase"); for (int i = 1; i < frequency.length; i++) { double f = frequency[i]; double pwr = power[i]; double phi = phase[i]; asdSeries.add(f, pwr);//w ww.ja va 2 s . co m phiSeries.add(f, phi); } XYSeriesCollection asdCollection = new XYSeriesCollection(); asdCollection.addSeries(asdSeries); XYSeriesCollection phiCollection = new XYSeriesCollection(); phiCollection.addSeries(phiSeries); // create the chart XYItemRenderer asdRenderer = new StandardXYItemRenderer(); LogAxis asdAxis = new LogAxis("ASD counts/ \u221AHz"); XYPlot asdSubplot = new XYPlot(asdCollection, null, asdAxis, asdRenderer); asdSubplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); XYItemRenderer phiRenderer = new StandardXYItemRenderer(); NumberAxis phiAxis = new NumberAxis("Phase degrees"); XYPlot phiSubplot = new XYPlot(phiCollection, null, phiAxis, phiRenderer); asdSubplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); final CombinedDomainXYPlot plot = new CombinedDomainXYPlot(new LogAxis("Frequency (Hz)")); plot.setGap(10.0); // add the subplots... plot.add(asdSubplot, 2); plot.add(phiSubplot, 1); plot.setOrientation(PlotOrientation.VERTICAL); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, true); Title subTitle = new TextTitle(subTitleText1); chart.addSubtitle(subTitle); subTitle = new TextTitle(subTitleText2); chart.addSubtitle(subTitle); ChartPanel panel = new ChartPanel(chart, true, true, true, false, true); panel.setPreferredSize(new java.awt.Dimension(cscl.getOutX(), cscl.getOutY())); FileOutputStream fos = null; try { fos = new FileOutputStream(cscl.getOfileName()); ChartUtilities.writeChartAsPNG(fos, chart, cscl.getOutX(), cscl.getOutY()); fos.close(); fos = null; } catch (Exception ex) { throw new WebUtilException("Saving image: " + ex.getClass() + " - " + ex.getLocalizedMessage()); } finally { try { if (fos != null) { fos.close(); } } catch (Exception ex) { throw new WebUtilException("Saving image: " + ex.getClass() + " - " + ex.getLocalizedMessage()); } } }
From source file:edu.uic.cs.compbio.DyNSPK.DynamicEntropy.java
public String makeChart(Map<Double, Double> data, String filename, String Title, String XAxis, String YAxis) { //Time series XYSeries dSeries = ChartUtils.createXYSeries(data, Title); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dSeries); JFreeChart chart = ChartFactory.createXYLineChart(Title, XAxis, YAxis, dataset, PlotOrientation.HORIZONTAL, true, false, false);/*from w w w . j a va 2s .c o m*/ chart.removeLegend(); ChartUtils.decorateChart(chart); ChartUtils.scaleChart(chart, dSeries, false); String degreeImageFile = ChartUtils.renderChart(chart, filename); return degreeImageFile; }
From source file:org.gephi.statistics.plugin.dynamic.DynamicDegree.java
public String getReport() { //Transform to Map Map<Double, Double> map = new HashMap<Double, Double>(); for (Interval<Double> interval : averages.getIntervals()) { map.put(interval.getLow(), interval.getValue()); }/*from ww w . j a v a 2 s. c om*/ //Time series XYSeries dSeries = ChartUtils.createXYSeries(map, "Degree Time Series"); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dSeries); JFreeChart chart = ChartFactory.createXYLineChart("Degree Time Series", "Time", "Average Degree", dataset, PlotOrientation.VERTICAL, true, false, false); chart.removeLegend(); ChartUtils.decorateChart(chart); ChartUtils.scaleChart(chart, dSeries, false); String degreeImageFile = ChartUtils.renderChart(chart, "degree-ts.png"); NumberFormat f = new DecimalFormat("#0.000000"); String report = "<HTML> <BODY> <h1>Dynamic Degree Report </h1> " + "<hr>" + "<br> Bounds: from " + f.format(bounds.getLow()) + " to " + f.format(bounds.getHigh()) + "<br> Window: " + window + "<br> Tick: " + tick + "<br><br><h2> Average degrees over time: </h2>" + "<br /><br />" + degreeImageFile; /*for (Interval<Double> averages : averages) { report += averages.toString(dynamicModel.getTimeFormat().equals(DynamicModel.TimeFormat.DOUBLE)) + "<br />"; }*/ report += "<br /><br /></BODY></HTML>"; return report; }
From source file:org.gephi.statistics.plugin.Degree.java
public String getDirectedReport() { //Distribution series XYSeries dSeries = ChartUtils.createXYSeries(degreeDist, "Degree Distribution"); XYSeries idSeries = ChartUtils.createXYSeries(inDegreeDist, "In-Degree Distribution"); XYSeries odSeries = ChartUtils.createXYSeries(outDegreeDist, "Out-Degree Distribution"); XYSeriesCollection dataset1 = new XYSeriesCollection(); dataset1.addSeries(dSeries); XYSeriesCollection dataset2 = new XYSeriesCollection(); dataset2.addSeries(idSeries);/*from w w w . j a va 2s . c om*/ XYSeriesCollection dataset3 = new XYSeriesCollection(); dataset3.addSeries(odSeries); JFreeChart chart1 = ChartFactory.createXYLineChart("Degree Distribution", "Value", "Count", dataset1, PlotOrientation.VERTICAL, true, false, false); chart1.removeLegend(); ChartUtils.decorateChart(chart1); ChartUtils.scaleChart(chart1, dSeries, false); String degreeImageFile = ChartUtils.renderChart(chart1, "degree-distribution.png"); JFreeChart chart2 = ChartFactory.createXYLineChart("In-Degree Distribution", "Value", "Count", dataset2, PlotOrientation.VERTICAL, true, false, false); chart2.removeLegend(); ChartUtils.decorateChart(chart2); ChartUtils.scaleChart(chart2, dSeries, false); String indegreeImageFile = ChartUtils.renderChart(chart2, "indegree-distribution.png"); JFreeChart chart3 = ChartFactory.createXYLineChart("Out-Degree Distribution", "Value", "Count", dataset3, PlotOrientation.VERTICAL, true, false, false); chart3.removeLegend(); ChartUtils.decorateChart(chart3); ChartUtils.scaleChart(chart3, dSeries, false); String outdegreeImageFile = ChartUtils.renderChart(chart3, "outdegree-distribution.png"); NumberFormat f = new DecimalFormat("#0.000"); String report = "<HTML> <BODY> <h1>Degree Report </h1> " + "<hr>" + "<br> <h2> Results: </h2>" + "Average Degree: " + f.format(avgDegree) + "<br /><br />" + degreeImageFile + "<br /><br />" + indegreeImageFile + "<br /><br />" + outdegreeImageFile + "</BODY></HTML>"; return report; }
From source file:XYPlotter.java
/** * Creates the dataset.//from w w w.j a va 2 s .c om * * @return a sample dataset. */ private XYSeriesCollection createDataset(String legendTxt) { series1 = new XYSeries("f(x)"); series2 = new XYSeries("g(x)"); final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); dataset.addSeries(series2); return dataset; }
From source file:org.usfirst.frc.team2084.neuralnetwork.RobotHeadingTest.java
/** * //from w w w . jav a2 s. c o m */ @Override public void run() { try { final DefaultValueDataset headingData = new DefaultValueDataset(0); final DefaultValueDataset desiredHeadingData = new DefaultValueDataset(0); final CompassPlot headingPlot = new CompassPlot(); headingPlot.addDataset(headingData); headingPlot.addDataset(desiredHeadingData); final JFreeChart headingChart = new JFreeChart("Heading", headingPlot); final XYSeries headingTimeSeries = new XYSeries("Heading"); final XYSeriesCollection headingTimeData = new XYSeriesCollection(); headingTimeData.addSeries(headingTimeSeries); final JFreeChart headingTimeChart = ChartFactory.createXYLineChart("Heading vs. Time", "Time", "Heading", headingTimeData, PlotOrientation.VERTICAL, true, true, false); final XYSeries errorTimeSeries = new XYSeries("Error"); final XYSeriesCollection errorTimeData = new XYSeriesCollection(); errorTimeData.addSeries(errorTimeSeries); final JFreeChart errorTimeChart = ChartFactory.createXYLineChart("Error vs. Time", "Time", "Error", errorTimeData, PlotOrientation.VERTICAL, true, true, false); SwingUtilities.invokeAndWait(() -> { final JFrame frame = new JFrame("Charts"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final Container content = frame.getContentPane(); content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS)); final JPanel chartPanel = new JPanel(); chartPanel.setLayout(new GridLayout(2, 2)); content.add(chartPanel); final ChartPanel headingPanel = new ChartPanel(headingChart); chartPanel.add(headingPanel); final ChartPanel headingTimePanel = new ChartPanel(headingTimeChart); chartPanel.add(headingTimePanel); final ChartPanel errorTimePanel = new ChartPanel(errorTimeChart); chartPanel.add(errorTimePanel); final JPanel buttonPanel = new JPanel(); content.add(buttonPanel); final JButton startButton = new JButton("Start"); final JButton stopButton = new JButton("Stop"); startButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stop(); startButton.setEnabled(false); stopButton.setEnabled(true); start(headingData, desiredHeadingData, headingTimeSeries, errorTimeSeries); } }); buttonPanel.add(startButton); stopButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { stop(); startButton.setEnabled(true); stopButton.setEnabled(false); } }); stopButton.setEnabled(false); buttonPanel.add(stopButton); frame.pack(); frame.setVisible(true); }); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:com.signalcollect.sna.gephiconnectors.SignalCollectGephiConnector.java
/** * Creates the Chart of the Degree Distribution according to the calculated * distribution/*from www . j av a 2 s . co m*/ * * @param degreeDistribution * @return a {@link JFreeChart} containing the distribution of degrees in * the graph * @throws IOException */ public JFreeChart createDegreeDistributionChart(Map<Integer, Integer> degreeDistribution) throws IOException { XYSeries dSeries = new XYSeries("number of occurences"); for (Iterator it = degreeDistribution.entrySet().iterator(); it.hasNext();) { Map.Entry d = (Map.Entry) it.next(); Number x = (Number) d.getKey(); Number y = (Number) d.getValue(); dSeries.add(x, y); } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dSeries); dataset.setAutoWidth(true); JFreeChart chart = ChartFactory.createHistogram("Degree Distribution", "Degree centrality value", "number of occurences", dataset, PlotOrientation.VERTICAL, true, true, true); XYPlot plot = chart.getXYPlot(); XYBarRenderer renderer0 = new XYBarRenderer(); Font font = new Font("Font", 0, 14); renderer0.setMargin(0.2); renderer0.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer0.setBaseItemLabelsVisible(true); renderer0.setBaseItemLabelFont(font); plot.setDataset(0, dataset); plot.setRenderer(0, renderer0); plot.getRendererForDataset(plot.getDataset(0)).setSeriesPaint(0, Color.BLUE); return chart; }