Example usage for org.jfree.chart JFreeChart getXYPlot

List of usage examples for org.jfree.chart JFreeChart getXYPlot

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart getXYPlot.

Prototype

public XYPlot getXYPlot() 

Source Link

Document

Returns the plot cast as an XYPlot .

Usage

From source file:org.jfree.chart.demo.HistogramDemo.java

/**
 * Creates a chart.// w w  w  . j a v a2  s .c om
 * 
 * @param dataset  a dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final IntervalXYDataset dataset) {
    final JFreeChart chart = ChartFactory.createHistogram("Histogram Demo", null, null, dataset,
            PlotOrientation.VERTICAL, true, false, false);
    chart.getXYPlot().setForegroundAlpha(0.75f);
    return chart;
}

From source file:pt.lsts.neptus.util.bathymetry.TidCachedData.java

public static void test(String[] args) throws Exception {
    TidReader.main(args);/*from   ww w.j  a va2 s.  c  o m*/

    JFreeChart timeSeriesChart = null;
    TimeSeriesCollection tsc = new TimeSeriesCollection();
    ValueMarker marker = new ValueMarker(System.currentTimeMillis());
    ValueMarker levelMarker = new ValueMarker(0);

    String tmpFolder = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator", "/");
    File tidFx = new File(tmpFolder + "tmp.tid");

    TidCachedData tide = new TidCachedData(tidFx);

    TimeSeries ts = new TimeSeries(I18n.text("Tide level"));
    tsc.addSeries(ts);

    Date sDate = new GregorianCalendar(1993, 9, 28).getTime();
    for (double i = -12; i < 12; i += 0.25) {
        Date d = new Date((long) (sDate.getTime() + (i * 6.45 * 1E3 * 60 * 60)));
        ts.addOrUpdate(new Millisecond(d), tide.getTidePrediction(d, false));
    }

    JPanel panel = new JPanel(new BorderLayout());
    timeSeriesChart = ChartFactory.createTimeSeriesChart(null, null, null, tsc, true, true, true);
    panel.add(new ChartPanel(timeSeriesChart), BorderLayout.CENTER);

    timeSeriesChart.getXYPlot().addDomainMarker(marker);
    levelMarker.setValue(TidePredictionFactory.getTideLevel(new Date()));
    timeSeriesChart.getXYPlot().addRangeMarker(levelMarker);

    GuiUtils.testFrame(panel);

    System.out.println("\n________________________________________");
    long start = System.currentTimeMillis();
    TidCachedData tcd = new TidCachedData(new File(ConfigFetch.getConfFolder() + "mra/Leixoes.tid"));
    System.out.println("Loading of " + tcd.getName() + " took "
            + MathMiscUtils.parseToEngineeringNotation((System.currentTimeMillis() - start) / 1E3, 2) + "s");
}

From source file:pharoslabut.logger.CompassLoggerGUI.java

/**
 * Creates a new demo.// w  ww  .jav  a 2  s.c  om
 *
 * @param title  the frame title.
 */
public CompassLoggerGUI(final String title) {

    super(title);

    final XYDataset dataset = createDataset();
    final JFreeChart chart = createChart(dataset);

    final XYPlot plot = chart.getXYPlot();
    ValueAxis axis = plot.getDomainAxis();
    axis.setAutoRange(true);
    axis.setFixedAutoRange(60); // 60 seconds

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

    //        new Thread(new ChartUpdater(chart.getXYPlot())).start();
}

From source file:statUtil.TurnMovementPlot.java

public TurnMovementPlot(String title) throws IOException {
    super(title);
    Data data = CSVData.getCSVData(TURN_CSV_LOG);
    JFreeChart chart = ChartFactory.createXYLineChart(title, "X", "Y",
            XYDatasetGenerator.generateXYDataset(data.csvData));
    final XYPlot xyPlot = chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesStroke(0, new BasicStroke(3f));
    renderer.setSeriesLinesVisible(0, true);
    renderer.setSeriesShapesVisible(0, false);
    renderer.setSeriesLinesVisible(1, false);
    renderer.setSeriesShapesVisible(1, true);
    Shape cross = ShapeUtilities.createDiagonalCross(2f, 0.5f);
    renderer.setSeriesShape(1, cross);/*w  w  w .j  a  v a 2 s.com*/
    xyPlot.setRenderer(renderer);
    xyPlot.setQuadrantOrigin(new Point(0, 0));

    int i = 0;
    for (Double[] csvRow : data.csvData) {
        if (i % 20 == 1) {
            final XYTextAnnotation annotation = new XYTextAnnotation(Double.toString(csvRow[3]), csvRow[0],
                    csvRow[1]);
            annotation.setFont(new Font("SansSerif", Font.PLAIN, 10));
            xyPlot.addAnnotation(annotation);
        }
        i++;
    }

    int width = (int) Math.round(data.maxX - data.minX) + 50;
    int height = (int) Math.round(data.maxY - data.minY) + 50;
    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(width, height));
    setContentPane(chartPanel);
    File XYChart = new File(FILE_PATH + "\\TurnMovementPlot.png");
    ChartUtilities.saveChartAsPNG(XYChart, chart, width, height);
}

From source file:org.dkpro.lab.reporting.ChartUtilTest.java

@Test
public void testSvg() throws Exception {
    double[][] data = new double[2][10];

    for (int n = 1; n < 10; n++) {
        data[0][n] = 1.0 / n;//from   www.j  a v a2 s.  co m
        data[1][n] = 1.0 - (1.0 / n);
    }

    DefaultXYDataset dataset = new DefaultXYDataset();
    dataset.addSeries("data", data);

    JFreeChart chart = ChartFactory.createXYLineChart(null, "Recall", "Precision", dataset,
            PlotOrientation.VERTICAL, false, false, false);
    chart.getXYPlot().setRenderer(new XYSplineRenderer());
    chart.getXYPlot().getRangeAxis().setRange(0.0, 1.0);
    chart.getXYPlot().getDomainAxis().setRange(0.0, 1.0);

    File tmp = File.createTempFile("testfile", ".svg");
    try (OutputStream os = new FileOutputStream(tmp)) {
        ChartUtil.writeChartAsSVG(os, chart, 400, 400);
    }

    //        String ref = FileUtils.readFileToString(new File("src/test/resources/chart/test.svg"),
    //                "UTF-8");
    //        String actual = FileUtils.readFileToString(tmp, "UTF-8");
    //        assertEquals(ref, actual);
}

From source file:org.jfree.chart.demo.BubblePlotDemo.java

/**
 * Creates a chart.//from  w ww.j  a va2 s.  co  m
 * 
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final XYZDataset dataset) {
    final JFreeChart chart = ChartFactory.createBubbleChart("Bubble Plot Demo", "X", "Y", dataset,
            PlotOrientation.VERTICAL, true, true, false);
    final XYPlot plot = chart.getXYPlot();
    plot.setForegroundAlpha(0.65f);

    // increase the margins to account for the fact that the auto-range doesn't take into
    // account the bubble size...
    final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setLowerMargin(0.15);
    domainAxis.setUpperMargin(0.15);
    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setLowerMargin(0.15);
    rangeAxis.setUpperMargin(0.15);
    return chart;
}

From source file:org.dkpro.lab.reporting.ChartUtilTest.java

@Test
public void testPDF() throws Exception {
    double[][] data = new double[2][10];

    for (int n = 1; n < 10; n++) {
        data[0][n] = 1.0 / n;//from www.ja  v a2s  .co m
        data[1][n] = 1.0 - (1.0 / n);
    }

    DefaultXYDataset dataset = new DefaultXYDataset();
    dataset.addSeries("data", data);

    JFreeChart chart = ChartFactory.createXYLineChart(null, "Recall", "Precision", dataset,
            PlotOrientation.VERTICAL, false, false, false);
    chart.getXYPlot().setRenderer(new XYSplineRenderer());
    chart.getXYPlot().getRangeAxis().setRange(0.0, 1.0);
    chart.getXYPlot().getDomainAxis().setRange(0.0, 1.0);

    File tmp = File.createTempFile("testfile", ".pdf");
    try (OutputStream os = new FileOutputStream(tmp)) {
        ChartUtil.writeChartAsPDF(os, chart, 400, 400);
    }

    // Do not have an assert here because the creation date encoded in the PDF changes
    //        String ref = FileUtils.readFileToString(new File("src/test/resources/chart/test.pdf"),
    //                "UTF-8");
    //        String actual = FileUtils.readFileToString(tmp, "UTF-8");
    //        assertEquals(ref, actual);
}

From source file:loadmaprenderer.ChartTest.java

private JFreeChart makeChart(XYDataset dataset) {
    JFreeChart chart = ChartFactory.createXYLineChart("Cost/Year Chart", "Year", "Cost", dataset,
            PlotOrientation.VERTICAL, false, true, false);
    XYPlot plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.BLUE);
    plot.setRangeGridlinePaint(Color.BLUE);
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesShapesVisible(1, false);
    plot.setRenderer(renderer);//from  www  .  j ava2  s .  c  o  m
    NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setAutoRange(rootPaneCheckingEnabled);
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setAutoRange(rootPaneCheckingEnabled);
    return chart;
}

From source file:org.jfree.chart.demo.TimeSeriesDemo8.java

/**
 * Creates a chart.//  ww w.java2  s.  c om
 * 
 * @param dataset  the dataset.
 * 
 * @return a chart.
 */
private JFreeChart createChart(final XYDataset dataset) {
    final JFreeChart chart = ChartFactory.createTimeSeriesChart("Time Series Demo 8", "Date", "Value", dataset,
            true, true, false);
    final XYItemRenderer renderer = chart.getXYPlot().getRenderer();
    final StandardXYToolTipGenerator g = new StandardXYToolTipGenerator(
            StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT, new SimpleDateFormat("d-MMM-yyyy"),
            new DecimalFormat("0.00"));
    renderer.setToolTipGenerator(g);
    return chart;
}

From source file:Core.CircuitEvolution.QPace4.HistogramDemo.java

/**
 * Creates a chart.//from  ww w  .ja  va  2  s.  c  o m
 * 
 * @param dataset
 *            a dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(IntervalXYDataset dataset) {
    JFreeChart chart = ChartFactory.createHistogram("Histogram Demo", null, null, dataset,
            PlotOrientation.VERTICAL, true, false, false);
    chart.getXYPlot().setForegroundAlpha(0.75f);
    return chart;
}