List of usage examples for org.jfree.data.xy XYSeries add
public void add(XYDataItem item, boolean notify)
From source file:org.jfree.chart.demo.PlotOrientationDemo.java
/** * Creates a sample dataset.// w w w .j ava2 s. c o m * * @param index the dataset index. * * @return A dataset. */ private XYDataset createDataset(int index) { XYSeries series1 = new XYSeries("Series " + (index + 1)); series1.add(-10.0, -5.0); series1.add(10.0, 5.0); XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series1); return dataset; }
From source file:sanger.team16.gui.genevar.eqtl.gene.RegionalPlot.java
private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold, XYDataset dataset) {/*from ww w. ja v a 2 s . com*/ JFreeChart chart = ChartFactory.createScatterPlot(null, "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset, PlotOrientation.VERTICAL, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setDomainGridlinePaint(Color.lightGray); //plot.setRangeGridlinePaint(Color.lightGray); //plot.setRangeCrosshairVisible(true); //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); //domainAxis.setRange(geneStart - distance, geneStart + distance); //domainAxis.setUpperMargin(1000); //domainAxis.setLowerMargin(1000); //ValueAxis rangeAxis = plot.getRangeAxis(); //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5); //rangeAxis.setLowerBound(0); XYItemRenderer renderer = plot.getRenderer(); int size = dataset.getSeriesCount(); for (int i = 0; i < size; i++) { //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4); //renderer.setSeriesPaint(i, new Color(255, scale, scale)); renderer.setSeriesPaint(i, new Color(255, 0, 0)); renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3)); renderer.setBaseSeriesVisibleInLegend(false); } ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold)); upperMarker.setPaint(Color.gray); //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND); //upperMarker.setLabel("-log10(10E-4)"); //upperMarker.setLabelPaint(Color.red); //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); float[] f = { 4, 3, 4, 3 }; upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f)); plot.addRangeMarker(upperMarker); ValueMarker marker = new ValueMarker(0.0); marker.setPaint(Color.lightGray); plot.addRangeMarker(marker); XYSeries series = new XYSeries("Range"); series.add(geneStart - distanceToTSS, -0.05); series.add(geneStart + distanceToTSS, -0.05); ((XYSeriesCollection) dataset).addSeries(series); renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false); return chart; }
From source file:sanger.team16.gui.genevar.mqtl.gene.RegionalPlot.java
private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold, XYDataset dataset) {/*from w w w .j av a 2 s . c o m*/ JFreeChart chart = ChartFactory.createScatterPlot(null, "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset, PlotOrientation.VERTICAL, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setDomainGridlinePaint(Color.lightGray); //plot.setRangeGridlinePaint(Color.lightGray); //plot.setRangeCrosshairVisible(true); //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); //domainAxis.setRange(geneStart - distance, geneStart + distance); //domainAxis.setUpperMargin(1000); //domainAxis.setLowerMargin(1000); //ValueAxis rangeAxis = plot.getRangeAxis(); //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5); //rangeAxis.setLowerBound(0); XYItemRenderer renderer = plot.getRenderer(); int size = dataset.getSeriesCount(); for (int i = 0; i < size; i++) { //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4); //renderer.setSeriesPaint(i, new Color(255, scale, scale)); renderer.setSeriesPaint(i, new Color(50, 205, 50)); renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3)); renderer.setBaseSeriesVisibleInLegend(false); } ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold)); upperMarker.setPaint(Color.gray); //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND); //upperMarker.setLabel("-log10(10E-4)"); //upperMarker.setLabelPaint(Color.red); //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); float[] f = { 4, 3, 4, 3 }; upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f)); plot.addRangeMarker(upperMarker); ValueMarker marker = new ValueMarker(0.0); marker.setPaint(Color.lightGray); plot.addRangeMarker(marker); XYSeries series = new XYSeries("Range"); series.add(geneStart - distanceToTSS, -0.05); series.add(geneStart + distanceToTSS, -0.05); ((XYSeriesCollection) dataset).addSeries(series); renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false); return chart; }
From source file:org.matsim.core.utils.charts.XYLineChart.java
public final void addSeries(String title, Map<Integer, Double> map) { XYSeries series = new XYSeries(title, false, true); for (Entry<Integer, Double> entry : map.entrySet()) { series.add(entry.getKey(), entry.getValue()); }/*from w ww . ja v a 2 s.c o m*/ this.dataset.addSeries(series); }
From source file:edu.ucla.stat.SOCR.chart.demo.LineChartDemo3.java
/** * creaets XYDataset//w w w . j ava2 s . co m * @param isDemo true use the demo data, false use data from the JTable * @return XYDataset */ protected XYDataset createDataset(boolean isDemo) { if (isDemo) { XYSeriesCollection dataset = new XYSeriesCollection(); for (int i = 0; i < 4; i++) { XYSeries series = new XYSeries("S" + i); for (int j = 0; j < 4; j++) { series.add(j, Math.random() * 100); } dataset.addSeries(series); } return dataset; } else return super.createDataset(false); }
From source file:com.mycompany.istudy.principalservices.GraphicalView.java
private XYDataset createDataset(Map<Double, Double> investedHoursPerWeek, Map<Double, Double> hoursToBeInvested) { final XYSeries moduleToWeek = new XYSeries("Actual Performance"); investedHoursPerWeek.entrySet().stream().forEach((pair) -> { moduleToWeek.add((double) pair.getKey(), (double) pair.getValue()); });/* w w w. jav a 2s. c o m*/ final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(moduleToWeek); final XYSeries optimalWorkload = new XYSeries("Optimal Performance "); hoursToBeInvested.entrySet().stream().forEach((pair) -> { optimalWorkload.add((double) pair.getKey(), (double) pair.getValue()); }); dataset.addSeries(optimalWorkload); return dataset; }
From source file:playground.yu.utils.charts.XYScatterLineChart.java
/** * Adds a new data series to the chart with the specified title. * <code>xs<code> and <code>ys</code> should have the same length. If not, * only as many items are shown as the shorter array contains. * //from w w w . j a va 2 s. co m * @param title * @param xs * The x values. * @param ys * The y values. */ @Override public void addSeries(final String title, final double[] xs, final double[] ys) { XYSeries series = new XYSeries(title, false, true); for (int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) { series.add(xs[i], ys[i]); } this.dataset.addSeries(series); }
From source file:erigo.filewatch.DisplayPlot.java
/** * Add all the data to a new XYDataset/*w w w .j ava2s . c o m*/ */ private XYDataset createDataset() { XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series = new XYSeries("data"); for (int i = 0; i < xData.size(); ++i) { series.add(xData.get(i).doubleValue(), yData.get(i).doubleValue()); } //Add series to dataset dataset.addSeries(series); return dataset; }
From source file:com.griddynamics.jagger.engine.e1.reporting.WorkloadScalabilityPlotsReporter.java
private XYDataset getThroughputData(List<WorkloadTaskData> resultData) { XYSeries throughput = new XYSeries("Througput"); throughput.add(0, 0); for (WorkloadTaskData workloadTaskData : resultData) { throughput.add(workloadTaskData.getClockValue(), workloadTaskData.getThroughput()); }/*from www. ja v a 2s. co m*/ return new XYSeriesCollection(throughput); }
From source file:org.matsim.core.utils.charts.XYScatterChart.java
/** * Adds a new data series to the chart with the specified title. * <code>xs<code> and <code>ys</code> should have the same length. If not, * only as many items are shown as the shorter array contains. * /* ww w . java 2 s .c o m*/ * @param title * @param xs * The x values. * @param ys * The y values. */ public void addSeries(final String title, final double[] xs, final double[] ys) { XYSeries series = new XYSeries(title, false, true); for (int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) { series.add(xs[i], ys[i]); } this.dataset.addSeries(series); }