List of usage examples for org.jfree.data.xy XYSeries add
public void add(XYDataItem item, boolean notify)
From source file:org.uncommons.maths.demo.GraphPanel.java
public void generateGraph(String title, Map<Double, Double> observedValues, Map<Double, Double> expectedValues, double expectedMean, double expectedStandardDeviation, boolean discrete) { XYSeriesCollection dataSet = new XYSeriesCollection(); XYSeries observedSeries = new XYSeries("Observed"); dataSet.addSeries(observedSeries);/*from w w w .ja v a2 s . c o m*/ XYSeries expectedSeries = new XYSeries("Expected"); dataSet.addSeries(expectedSeries); for (Map.Entry<Double, Double> entry : observedValues.entrySet()) { observedSeries.add(entry.getKey(), entry.getValue()); } for (Map.Entry<Double, Double> entry : expectedValues.entrySet()) { expectedSeries.add(entry.getKey(), entry.getValue()); } JFreeChart chart = ChartFactory.createXYLineChart(title, "Value", "Probability", dataSet, PlotOrientation.VERTICAL, true, false, false); XYPlot plot = (XYPlot) chart.getPlot(); if (discrete) { // Render markers at each data point (these discrete points are the // distibution, not the lines between them). plot.setRenderer(new XYLineAndShapeRenderer()); } else { // Render smooth lines between points for a continuous distribution. XYSplineRenderer renderer = new XYSplineRenderer(); renderer.setBaseShapesVisible(false); plot.setRenderer(renderer); } chartPanel.setChart(chart); }
From source file:org.jgrasstools.gears.utils.images.LineChartGenerator.java
public void addDatasetMatrix(double[][] data, String seriesName) { XYSeries series = new XYSeries(seriesName); for (int i = 0; i < data.length; i++) { max = Math.max(max, data[i][1]); min = Math.min(min, data[i][1]); }/*from www . ja va2s. c o m*/ for (int i = 0; i < data.length; i++) { series.add(data[i][0], data[i][1]); } collection.addSeries(series); }
From source file:org.rhwlab.ace3d.SegmentationLinePlot.java
public void setTree(BHCTree tree) { XYSeriesCollection collect = new XYSeriesCollection(); XYSeries series = new XYSeries(""); collect.addSeries(series);/* w ww. j a v a 2 s. c o m*/ TreeMap<Integer, TreeSet<NucleusLogNode>> map = tree.allTreeCuts(500); for (Integer i : map.keySet()) { TreeSet<NucleusLogNode> nodes = map.get(i); double lnP = nodes.first().getLogPosterior(); series.add((double) i, Math.exp(lnP)); } int t = tree.getTime(); int nu = tree.getNu(); JFreeChart chart = ChartFactory.createXYLineChart( String.format("Time=%d,nu=%d,alpha=%e", tree.getTime(), tree.getNu(), tree.getAlpha()), "Index", "Probability", collect, PlotOrientation.VERTICAL, false, true, true); XYPlot plot = (XYPlot) chart.getPlot(); ChartPanel panel = new ChartPanel(chart); this.add(panel); }
From source file:mil.tatrc.physiology.biogears.verification.ScenarioPlotTool.java
public XYSeries createTruncatedXYSeries(String name, List<Double> x, List<Double> y) { if (y.size() != x.size()) { Log.error("axis data is not the same size"); }/*from w w w. jav a 2s . c om*/ XYSeries series = new XYSeries(name); for (int i = 0; i < x.size(); i++) { if (i % 3 == 0) series.add(x.get(i), y.get(i)); } return series; }
From source file:org.esa.s1tbx.insar.rcp.toolviews.insar_statistics.StatESDMeasure.java
public void update(final Product product) { try {/*from w ww .j av a 2 s . co m*/ if (InSARStatisticsTopComponent.isValidProduct(product) && readESDMeasure(product)) { setVisible(true); dataset.removeAllSeries(); int i = 0; for (String subswath : esdData.keySet()) { final XYSeries series = new XYSeries(subswath); final Map<Integer, Double> values = esdData.get(subswath); for (Integer burst : values.keySet()) { series.add(burst + 1, values.get(burst)); } dataset.addSeries(series); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) chart.getXYPlot().getRenderer(); renderer.setSeriesLinesVisible(i, true); renderer.setSeriesShapesVisible(i, true); chart.getXYPlot().getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits()); ++i; } } else { setVisible(false); } } catch (Exception e) { SnapApp.getDefault().handleError("Unable to update product", e); } }
From source file:neironweb.Frame.java
public Frame() { super("neural network"); //JPanel pane = new JPanel(); setLayout(null);// w ww . j av a 2s . com JPanel mailPanel = new JPanel(); mailPanel.setLayout(null); mailPanel.setLocation(50, 30); mailPanel.setSize(300, 170); mailPanel.setBorder(BorderFactory.createLineBorder(Color.black)); JLabel mailLabel = new JLabel("e-mail:"); mailLabel.setLocation(10, 10); mailLabel.setSize(50, 30); mailPanel.add(mailLabel); JLabel dirMailLabel = new JLabel("direct:"); dirMailLabel.setLocation(10, 50); dirMailLabel.setSize(50, 30); mailPanel.add(dirMailLabel); JTextField mailField = new JTextField("mail@mail.ru"); mailField.setSize(150, 30); mailField.setLocation(80, 10); mailPanel.add(mailField); JTextField textField = new JTextField("INBOX"); textField.setLocation(80, 50); textField.setSize(150, 30); mailPanel.add(textField); JButton mailButton = new JButton("Analyze"); mailButton.setLocation(80, 90); mailButton.setSize(150, 30); mailPanel.add(mailButton); // JButton eduButton = new JButton("Start education"); // eduButton.setLocation(0, 50); // eduButton.setSize(150, 30); // buttonPanel.add(eduButton); XYSeries xyser = new XYSeries(""); XYDataset xy = new XYSeriesCollection(xyser); JFreeChart jf = ChartFactory.createXYLineChart("Education", "X", "Y", xy); for (int i = 0; i < 100; i++) xyser.add(i, Math.cos(i)); ChartPanel chartPanel = new ChartPanel(jf); chartPanel.setSize(700, 300); chartPanel.setLocation(50, 230); chartPanel.setBorder(BorderFactory.createLineBorder(Color.black)); // JPanel myChartPanel = new JPanel(); // myChartPanel.setLayout(null); // myChartPanel.setLocation(50, 230); // myChartPanel.setSize(700, 300); // myChartPanel // myChartPanel.add(chartPanel); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con = this.getContentPane(); // inherit main frame //con.add(pane); con.add(mailPanel); //con.add(myChartPanel); con.add(chartPanel); setVisible(true); }
From source file:required.ChartPlotter.java
/** * Creates a sample dataset.//from w w w . j a v a 2 s . c o m * * @return a sample dataset. * @throws IOException * @throws FileNotFoundException * @throws ClassNotFoundException */ @SuppressWarnings("unchecked") private XYDataset createDataset() throws FileNotFoundException, IOException, ClassNotFoundException { LinkedHashMap<String, Long> lhash = new LinkedHashMap<>(); try (InputStream file = new FileInputStream("SortedFreq.r"); InputStream buffer = new BufferedInputStream(file); ObjectInput input = new ObjectInputStream(buffer); ) { //deserialize the List lhash = (LinkedHashMap<String, Long>) input.readObject(); input.close(); buffer.close(); file.close(); System.out.println(lhash.size()); } final XYSeries series2 = new XYSeries("Second"); Iterator<String> it = lhash.keySet().iterator(); for (int i = 0; i < lhash.size(); i++) { if (it.hasNext()) series2.add(i, lhash.get(it.next())); } final XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(series2); return dataset; }
From source file:lisong_mechlab.view.graphs.SustainedDpsGraph.java
private TableXYDataset getSeries() { final Collection<Modifier> modifiers = loadout.getModifiers(); SortedMap<Weapon, List<Pair<Double, Double>>> data = new TreeMap<Weapon, List<Pair<Double, Double>>>( new Comparator<Weapon>() { @Override// w ww . j a v a 2s. c o m public int compare(Weapon aO1, Weapon aO2) { int comp = Double.compare(aO2.getRangeMax(modifiers), aO1.getRangeMax(modifiers)); if (comp == 0) return aO1.compareTo(aO2); return comp; } }); Double[] ranges = WeaponRanges.getRanges(loadout); for (double range : ranges) { Set<Entry<Weapon, Double>> damageDistributio = maxSustainedDPS.getWeaponRatios(range).entrySet(); for (Map.Entry<Weapon, Double> entry : damageDistributio) { final Weapon weapon = entry.getKey(); final double ratio = entry.getValue(); final double dps = weapon.getStat("d/s", modifiers); final double rangeEff = weapon.getRangeEffectivity(range, modifiers); if (!data.containsKey(weapon)) { data.put(weapon, new ArrayList<Pair<Double, Double>>()); } data.get(weapon).add(new Pair<Double, Double>(range, dps * ratio * rangeEff)); } } List<Weapon> orderedWeapons = new ArrayList<>(); DefaultTableXYDataset dataset = new DefaultTableXYDataset(); for (Map.Entry<Weapon, List<Pair<Double, Double>>> entry : data.entrySet()) { XYSeries series = new XYSeries(entry.getKey().getName(), true, false); for (Pair<Double, Double> pair : entry.getValue()) { series.add(pair.first, pair.second); } dataset.addSeries(series); orderedWeapons.add(entry.getKey()); } Collections.reverse(orderedWeapons); colours.updateColoursToMatch(orderedWeapons); return dataset; }
From source file:flexflux.analyses.result.ParetoAnalysisResult.java
public void plot() { XYSeriesCollection dataset = new XYSeriesCollection(); int i = 1;/*from w ww . j a v a 2 s. com*/ for (Objective obj : oneDResults.keySet()) { XYSeries series = new XYSeries(obj.getName()); for (double val : oneDResults.get(obj)) { series.add(i, val); } dataset.addSeries(series); i++; } // create the chart... final JFreeChart chart = ChartFactory.createXYLineChart("", // chart title "Objectives", // x axis label "Values", // y axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); ChartPanel chartPanel = new ChartPanel(chart); XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.WHITE); plot.setRangeGridlinePaint(Color.GRAY); plot.setDomainGridlinePaint(Color.GRAY); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setLinesVisible(false); renderer.setShapesVisible(true); plot.setRenderer(renderer); // change the auto tick unit selection to integer units only... NumberAxis rangeAxis = (NumberAxis) plot.getDomainAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); JFrame frame = new JFrame("Pareto analysis one dimension results"); frame.add(chartPanel); frame.pack(); RefineryUtilities.centerFrameOnScreen(frame); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setVisible(true); for (PP2DResult r : twoDResults.keySet()) { r.plot(); } for (PP3DResult r : threeDResults.keySet()) { r.plot(); } }
From source file:com.googlecode.logVisualizer.chart.MPGainedSpentPerTurnXYBarChart.java
@Override protected IntervalXYDataset createDataset() { final XYSeriesCollection datasets = new XYSeriesCollection(); if (getLogData().isDetailedLog()) { final XYSeries gainedDataset = new XYSeries("MP gained", false); final XYSeries spentDataset = new XYSeries("MP spent", false); for (final SingleTurn st : getLogData().getTurnsSpent()) { gainedDataset.add(st.getTurnNumber(), st.getMPGain().getTotalMPGains()); int spentMP = 0; for (final Skill s : st.getSkillsCast()) spentMP += s.getMpCost(); spentDataset.add(st.getTurnNumber(), spentMP); }/* w w w . ja v a 2 s. co m*/ datasets.addSeries(spentDataset); datasets.addSeries(gainedDataset); } return datasets; }