List of usage examples for org.jfree.chart JFreeChart getXYPlot
public XYPlot getXYPlot()
From source file:org.jfree.chart.demo.XYStepChartDemo.java
/** * Displays a sample chart in its own frame. *//*from w ww . j a v a 2 s .com*/ private void displayChart() { if (this.frame == null) { // create a default chart based on some sample data... final String title = "LCACs in use at given time"; final String xAxisLabel = "Time"; final String yAxisLabel = "Number of Transports"; final XYDataset data = createStepXYDataset(); final JFreeChart chart = ChartFactory.createXYStepChart(title, xAxisLabel, yAxisLabel, data, PlotOrientation.VERTICAL, true, // legend true, // tooltips false // urls ); // then customise it a little... chart.setBackgroundPaint(new Color(216, 216, 216)); final XYPlot plot = chart.getXYPlot(); plot.getRenderer().setSeriesStroke(0, new BasicStroke(2.0f)); plot.getRenderer().setSeriesStroke(1, new BasicStroke(2.0f)); // and present it in a frame... this.frame = new ChartFrame("Plan Comparison", chart); this.frame.pack(); RefineryUtilities.positionFrameRandomly(this.frame); this.frame.setVisible(true); } else { this.frame.setVisible(true); this.frame.requestFocus(); } }
From source file:eu.cassandra.platform.gui.GUI.java
public JFreeChart createChart(String title, final XYDataset dataset) { final JFreeChart chart = ChartFactory.createTimeSeriesChart(title, "Time", "Consumption (W)", dataset, false, true, true);/* w w w .ja v a2 s . co m*/ DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis(); axis.setTickUnit(new DateTickUnit(DateTickUnitType.DAY, 1)); axis.setTickMarkPosition(DateTickMarkPosition.START); axis.setDateFormatOverride(new SimpleDateFormat("dd")); // XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); // BasicStroke basicStroke = new BasicStroke(1f); // renderer.setSeriesStroke(0, basicStroke); // chart.getXYPlot().setRenderer(renderer); chart.setAntiAlias(true); chart.setTextAntiAlias(true); return chart; }
From source file:org.moeaframework.examples.gp.regression.SymbolicRegressionGUI.java
/** * Updates the GUI. This method updates a Swing GUI, and therefore must * only be invoked on the event dispatch thread. *//*w w w . j a v a 2 s . com*/ protected void updateOnEventQueue() { // create local reference incase update is called again double[] x = problem.getX(); double[] actualY = problem.getActualY(); double[] approximatedY = problem.getApproximatedY(solution); // generate the line series XYSeries actualSeries = new XYSeries("Target Function", false, false); XYSeries approximatedSeries = new XYSeries("Estimated Function", false, false); for (int i = 0; i < x.length; i++) { actualSeries.add(x[i], actualY[i]); approximatedSeries.add(x[i], approximatedY[i]); } DefaultTableXYDataset dataset = new DefaultTableXYDataset(); dataset.addSeries(actualSeries); dataset.addSeries(approximatedSeries); // generate the plot JFreeChart chart = ChartFactory.createXYLineChart("Symbolic Regression Demo", "x", "f(x)", dataset, PlotOrientation.VERTICAL, true, true, false); XYPlot plot = chart.getXYPlot(); plot.setRenderer(new XYLineAndShapeRenderer()); // update the details details.setText("Generation " + generation + " / " + maxGenerations + "\nObjective value: " + solution.getObjective(0) + "\n\n" + solution.getVariable(0)); container.removeAll(); container.add(new ChartPanel(chart), BorderLayout.CENTER); container.revalidate(); container.repaint(); if (!isCanceled) { setVisible(true); } }
From source file:com.signalcollect.sna.gephiconnectors.SignalCollectGephiConnector.java
/** * Creates the Chart of the Degree Distribution according to the calculated * distribution/*from w ww . j av a 2 s . com*/ * * @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; }
From source file:sim.app.sugarscape.Charts.java
JFreeChart createGiniChart() { JFreeChart chart3 = ChartFactory.createXYLineChart("Lorenz Curve", "Population Percentage", "Percentage of Total Wealth", new XYSeriesCollection(model.lorenz_curve), PlotOrientation.VERTICAL, true, true, false);//from w ww . j a v a2 s.c o m XYPlot plot = chart3.getXYPlot(); ValueAxis yAxis = plot.getRangeAxis(); //xAxis.setFixedDimension(100); yAxis.setFixedDimension(1.0); //yAxis.setRange(0,1); ValueAxis xAxis = plot.getDomainAxis(); xAxis.setFixedDimension(50); //StandardXYItemRenderer XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(0, Color.black); NumberAxis axis2 = new NumberAxis("Average Agent Vision"); //axis2.setAutoRangeIncludesZero(false); axis2.setRange(0, 12); plot.setRangeAxis(1, axis2); plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); //XYSeriesCollection vision = new XYSeriesCollection(lorenz_agent_vision); //plot.setDataset(1, vision); return chart3; }
From source file:pi.bestdeal.models.Charts.java
public void XYChart(XYSeriesCollection mydataset) { JFreeChart chart = ChartFactory.createXYLineChart("XY Chart", // Title "x-axis", // x-axis Label "y-axis", // y-axis Label mydataset, // Dataset PlotOrientation.VERTICAL, // Plot Orientation true, // Show Legend true, // Use tooltips false // Configure chart to generate URLs? );/*from ww w . ja va 2 s . c o m*/ XYItemRenderer rend = chart.getXYPlot().getRenderer(); ChartPanel crepart = new ChartPanel(chart); Plot plot = chart.getPlot(); this.add(crepart); }
From source file:org.jfree.chart.demo.MultipleAxisDemo1.java
/** * Creates the demo chart./*from www .j a v a2s.co m*/ * * @return The chart. */ private JFreeChart createChart() { final XYDataset dataset1 = createDataset("Series 1", 100.0, new Minute(), 200); final JFreeChart chart = ChartFactory.createTimeSeriesChart("Multiple Axis Demo 1", "Time of Day", "Primary Range Axis", dataset1, true, true, false); chart.setBackgroundPaint(Color.white); chart.addSubtitle(new TextTitle("Four datasets and four range axes.")); final XYPlot plot = chart.getXYPlot(); plot.setOrientation(PlotOrientation.VERTICAL); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0)); final StandardXYItemRenderer renderer = (StandardXYItemRenderer) plot.getRenderer(); renderer.setPaint(Color.black); // AXIS 2 final NumberAxis axis2 = new NumberAxis("Range Axis 2"); axis2.setAutoRangeIncludesZero(false); axis2.setLabelPaint(Color.red); axis2.setTickLabelPaint(Color.red); plot.setRangeAxis(1, axis2); plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_LEFT); final XYDataset dataset2 = createDataset("Series 2", 1000.0, new Minute(), 170); plot.setDataset(1, dataset2); plot.mapDatasetToRangeAxis(1, 1); XYItemRenderer renderer2 = new StandardXYItemRenderer(); renderer2.setSeriesPaint(0, Color.red); plot.setRenderer(1, renderer2); // AXIS 3 final NumberAxis axis3 = new NumberAxis("Range Axis 3"); axis3.setLabelPaint(Color.blue); axis3.setTickLabelPaint(Color.blue); plot.setRangeAxis(2, axis3); final XYDataset dataset3 = createDataset("Series 3", 10000.0, new Minute(), 170); plot.setDataset(2, dataset3); plot.mapDatasetToRangeAxis(2, 2); XYItemRenderer renderer3 = new StandardXYItemRenderer(); renderer3.setSeriesPaint(0, Color.blue); plot.setRenderer(2, renderer3); // AXIS 4 final NumberAxis axis4 = new NumberAxis("Range Axis 4"); axis4.setLabelPaint(Color.green); axis4.setTickLabelPaint(Color.green); plot.setRangeAxis(3, axis4); final XYDataset dataset4 = createDataset("Series 4", 25.0, new Minute(), 200); plot.setDataset(3, dataset4); plot.mapDatasetToRangeAxis(3, 3); XYItemRenderer renderer4 = new StandardXYItemRenderer(); renderer4.setSeriesPaint(0, Color.green); plot.setRenderer(3, renderer4); return chart; }
From source file:UserInterface.DoctorRole.ViewPatientReport.java
private void LineGraphButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_LineGraphButtonActionPerformed // TODO add your handling code here: //dataset = new DefaultCategoryDataset(); XYSeriesCollection dataset = new XYSeriesCollection(); if (!(patient.getTestDir().getTestdir().isEmpty())) { for (Test vs : patient.getTestDir().getTestdir()) { XYSeries series1 = new XYSeries(vs.getBloodPressure()); series1.add(10, Float.parseFloat(vs.getBloodPressure())); series1.add(20, Float.parseFloat(vs.getBloodPlatlets())); series1.add(30, Float.parseFloat(vs.getHemoglobinLevel())); series1.add(40, Float.parseFloat(vs.getBloodPlatlets())); dataset.addSeries(series1);/*from w w w.j a v a 2 s.c o m*/ // dataset.addValue(Integer.parseInt(vs.getBloodPressure()), "Blood Pressure", vs.getTimestamp()); // dataset.addValue(Integer.parseInt(vs.getBloodPlatlets()), "Blood Platelets", vs.getTimestamp()); // //dataset.addValue(Integer.parseInt(vs.getHemoglobinLevel()), "Hemoglobin Level", vs.getTimestamp()); // //dataset.addValue(vs.getWeight(), "Weight", vs.getTimestamp()); // } JFreeChart chartFactory = ChartFactory.createXYLineChart("GRAPHICAL REPRESENTATION OF SENSOR DATA", "X-Axis", "SIGN", (XYDataset) dataset); XYLineAndShapeRenderer renderer = null; // XYPlot plot = chartFactory.getXYPlot(); renderer = new XYLineAndShapeRenderer(); ChartFrame frame = new ChartFrame("Line Chart Of Sensor Data", chartFactory); frame.setVisible(true); frame.setSize(700, 320); } //GEN-LAST:event_LineGraphButtonActionPerformed else { JOptionPane.showMessageDialog(this, "No Vital Signs To Display On Graph!!!"); } }
From source file:psiprobe.controllers.RenderChartController.java
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { final int seriesMaxCount = 9; // the max number of series // get Series Color from the request int[] seriesColor = new int[seriesMaxCount]; seriesColor[0] = Utils.toIntHex(request.getParameter("s1c"), 0x9bd2fb); seriesColor[1] = Utils.toIntHex(request.getParameter("s2c"), 0xFF0606); for (int i = 2; i < seriesMaxCount; i++) { seriesColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "c"), -1); }// www. j a v a 2 s . co m // get Series Outline Color from the request int[] seriesOutlineColor = new int[seriesMaxCount]; seriesOutlineColor[0] = Utils.toIntHex(request.getParameter("s1o"), 0x0665aa); seriesOutlineColor[1] = Utils.toIntHex(request.getParameter("s2o"), 0x9d0000); for (int i = 2; i < seriesMaxCount; i++) { seriesOutlineColor[i] = Utils.toIntHex(request.getParameter("s" + (i + 1) + "o"), -1); } // background color int backgroundColor = Utils.toIntHex(request.getParameter("bc"), 0xFFFFFF); // grid color int gridColor = Utils.toIntHex(request.getParameter("gc"), 0); // X axis title String labelX = ServletRequestUtils.getStringParameter(request, "xl", ""); // Y axis title String labelY = ServletRequestUtils.getStringParameter(request, "yl", ""); // image width int width = ServletRequestUtils.getIntParameter(request, "xz", 800); // image height int height = ServletRequestUtils.getIntParameter(request, "yz", 400); // show legend? boolean showLegend = ServletRequestUtils.getBooleanParameter(request, "l", true); // Series provider String provider = ServletRequestUtils.getStringParameter(request, "p", null); // Chart type String chartType = ServletRequestUtils.getStringParameter(request, "ct", "area"); DefaultTableXYDataset ds = new DefaultTableXYDataset(); if (provider != null) { Object series = getApplicationContext().getBean(provider); if (series instanceof SeriesProvider) { ((SeriesProvider) series).populate(ds, statsCollection, request); } else { logger.error("SeriesProvider '{}' does not implement '{}'", provider, SeriesProvider.class); } } // Build series data from the give statistic JFreeChart chart = null; if ("area".equals(chartType)) { chart = ChartFactory.createXYAreaChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); ((XYAreaRenderer) chart.getXYPlot().getRenderer()).setOutline(true); } else if ("stacked".equals(chartType)) { chart = ChartFactory.createStackedXYAreaChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); } else if ("line".equals(chartType)) { chart = ChartFactory.createXYLineChart("", labelX, labelY, ds, PlotOrientation.VERTICAL, showLegend, false, false); final XYLine3DRenderer renderer = new XYLine3DRenderer(); renderer.setDrawOutlines(true); for (int i = 0; i < seriesMaxCount; i++) { renderer.setSeriesLinesVisible(i, true); renderer.setSeriesShapesVisible(i, true); renderer.setSeriesStroke(i, new BasicStroke(2)); } renderer.setXOffset(1); renderer.setYOffset(1); chart.getXYPlot().setRenderer(renderer); } if (chart != null) { chart.setAntiAlias(true); chart.setBackgroundPaint(new Color(backgroundColor)); for (int i = 0; i < seriesMaxCount; i++) { if (seriesColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesPaint(i, new Color(seriesColor[i])); } if (seriesOutlineColor[i] >= 0) { chart.getXYPlot().getRenderer().setSeriesOutlinePaint(i, new Color(seriesOutlineColor[i])); } } chart.getXYPlot().setDomainGridlinePaint(new Color(gridColor)); chart.getXYPlot().setRangeGridlinePaint(new Color(gridColor)); chart.getXYPlot().setDomainAxis(0, new DateAxis()); chart.getXYPlot().setDomainAxis(1, new DateAxis()); chart.getXYPlot().setInsets(new RectangleInsets(-15, 0, 0, 10)); response.setHeader("Content-type", "image/png"); response.getOutputStream().write(ChartUtilities.encodeAsPNG(chart.createBufferedImage(width, height))); } return null; }
From source file:org.signserver.client.cli.performance.PerformanceTestPDFServlet.java
License:asdf
/** * Create and write diagrams to disk.//from w w w . j a v a2s .co m */ private void createDiagram(String statisticsDirectory, ArrayList<String> explanationRow, ArrayList<ArrayList<Double>> processedData, int xRow, int y1Row, int y2Row) { final XYSeries s1 = new XYSeries(explanationRow.get(y1Row)); final XYSeries s2 = new XYSeries(explanationRow.get(y2Row)); for (ArrayList<Double> currentRow : processedData) { s1.add(currentRow.get(xRow), currentRow.get(y1Row)); s2.add(currentRow.get(xRow), currentRow.get(y2Row)); } final XYSeriesCollection dataset1 = new XYSeriesCollection(); dataset1.addSeries(s1); final XYSeriesCollection dataset2 = new XYSeriesCollection(); dataset2.addSeries(s2); final JFreeChart chart = ChartFactory.createXYLineChart("Test result " + xRow + "" + y1Row + "" + y2Row, explanationRow.get(xRow), explanationRow.get(y1Row), dataset1, PlotOrientation.VERTICAL, true, true, false); final XYPlot plot = chart.getXYPlot(); if (y1Row == COLUMN_INVOCATIONS_PER_SECOND) { final NumberAxis axis1 = new LogarithmicAxis(explanationRow.get(y1Row)); plot.setRangeAxis(0, axis1); } final NumberAxis axis2 = new NumberAxis(explanationRow.get(y2Row)); axis2.setAutoRangeIncludesZero(false); plot.setRangeAxis(1, axis2); plot.setDataset(1, dataset2); plot.mapDatasetToRangeAxis(1, 1); final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer(); renderer2.setSeriesPaint(0, Color.BLUE); plot.setRenderer(1, renderer2); final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); final File file = new File( statisticsDirectory + "PDF Signatures" + "-" + xRow + "" + y1Row + "" + y2Row + ".png"); int imageWidth = 800; int imageHeight = 600; try { System.out.println("Writing diagram to " + file.getName()); System.out.flush(); ChartUtilities.saveChartAsPNG(file, chart, imageWidth, imageHeight, info); } catch (IOException e) { e.printStackTrace(); } }