Example usage for org.jfree.chart ChartFactory createXYLineChart

List of usage examples for org.jfree.chart ChartFactory createXYLineChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createXYLineChart.

Prototype

public static JFreeChart createXYLineChart(String title, String xAxisLabel, String yAxisLabel,
        XYDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a line chart (based on an XYDataset ) with default settings.

Usage

From source file:no.ntnu.mmfplanner.ui.graph.SaNpvChart.java

/**
 * Creates the chart//from w w w.j a va 2 s. com
 */
private void createChart() {
    JFreeChart chart = ChartFactory.createXYLineChart(null, // chart title
            "Period", // x axis label
            "Discounted Cash", // y axis label
            null, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.getDomainAxis().setLowerMargin(0.0);
    plot.getDomainAxis().setUpperMargin(0.0);
    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_LEFT);

    // change the auto tick unit selection to integer units only...
    NumberAxis rangeAxis = (NumberAxis) plot.getDomainAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    setChart(chart);
    setMouseZoomable(false);

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setLegendLine(new Rectangle2D.Double(0.0, 0.0, 6.0, 0.0));
    renderer.setUseFillPaint(true);

    // the x=0 line
    renderer.setSeriesPaint(0, Color.GRAY);
    renderer.setSeriesShapesVisible(0, false);
    renderer.setSeriesLinesVisible(0, true);
    renderer.setSeriesVisibleInLegend(0, new Boolean(false));

    plot.setRenderer(renderer);
}

From source file:org.pentaho.plugin.jfreereport.reportcharts.XYLineChartExpression.java

protected JFreeChart computeXYChart(final XYDataset xyDataset) {
    final JFreeChart chart;
    if (xyDataset instanceof TimeSeriesCollection) {
        chart = ChartFactory.createTimeSeriesChart(computeTitle(), getDomainTitle(), getRangeTitle(), xyDataset,
                isShowLegend(), false, false);
    } else {//from   w  ww  .  j  a  v a 2 s . c  o m
        final PlotOrientation orientation = computePlotOrientation();
        chart = ChartFactory.createXYLineChart(computeTitle(), getDomainTitle(), getRangeTitle(), xyDataset,
                orientation, isShowLegend(), false, false);
    }
    configureLogarithmicAxis(chart.getXYPlot());
    return chart;
}

From source file:ec.nbdemetra.benchmarking.calendarization.CalendarizationChartView.java

private static JFreeChart createChart(String title) {
    JFreeChart result = ChartFactory.createXYLineChart("", "", "", Charts.emptyXYDataset(),
            PlotOrientation.VERTICAL, false, false, false);
    result.setPadding(TsCharts.CHART_PADDING);

    result.setTitle(new TextTitle(title, new Font("SansSerif", Font.PLAIN, 12)));

    XYPlot plot = result.getXYPlot();/*w w  w  . j  a v  a 2 s.  c  o m*/
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    LinesThickness linesThickness = LinesThickness.Thin;

    XYLineAndShapeRenderer daily = new XYLineAndShapeRenderer(true, false);
    daily.setAutoPopulateSeriesPaint(false);

    daily.setAutoPopulateSeriesStroke(false);
    daily.setBaseStroke(TsCharts.getStrongStroke(linesThickness));
    plot.setRenderer(DAILY_INDEX, daily);

    XYDifferenceRenderer difference = new XYDifferenceRenderer();
    difference.setAutoPopulateSeriesPaint(false);
    difference.setAutoPopulateSeriesStroke(false);
    difference.setBaseStroke(TsCharts.getNormalStroke(linesThickness));
    plot.setRenderer(DIFF_INDEX, difference);

    XYLineAndShapeRenderer smooth = new XYLineAndShapeRenderer(true, false);
    smooth.setAutoPopulateSeriesPaint(false);
    smooth.setAutoPopulateSeriesStroke(false);
    smooth.setBaseStroke(TsCharts.getStrongStroke(linesThickness));
    plot.setRenderer(SMOOTH_INDEX, smooth);

    DateAxis domainAxis = new DateAxis();
    domainAxis.setTickMarkPosition(DateTickMarkPosition.START);
    domainAxis.setTickLabelPaint(TsCharts.CHART_TICK_LABEL_COLOR);
    plot.setDomainAxis(domainAxis);

    NumberAxis rangeAxis = new NumberAxis();
    rangeAxis.setAutoRangeIncludesZero(false);
    rangeAxis.setTickLabelPaint(TsCharts.CHART_TICK_LABEL_COLOR);
    plot.setRangeAxis(rangeAxis);

    return result;
}

From source file:edu.ucsd.hep.slhaviewer.view.MassGraphPanel.java

public MassGraphPanel() {
    this.setLayout(new BorderLayout());

    dataset = new XYSeriesCollection();

    JFreeChart chart = ChartFactory.createXYLineChart("Mass Spectrum", "", "mass [GeV]", dataset,
            PlotOrientation.VERTICAL, false, // no legend
            true, // add tooltips
            false // add urls
    );//from  w  w w. j  a  va 2s .  c  om

    // get a reference to the plot for further customisation...
    XYPlot plot = (XYPlot) chart.getPlot();

    renderer = (XYLineAndShapeRenderer) plot.getRenderer();

    // change the auto tick unit selection to integer units only...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setTickMarksVisible(false);
    domainAxis.setTickLabelsVisible(false);

    chart.setBackgroundPaint(Color.WHITE); // 'outside'
    plot.setBackgroundPaint(Color.WHITE); // 'inside'
    plot.setRangeGridlinePaint(Color.DARK_GRAY);

    this.add(new ChartPanel(chart), BorderLayout.CENTER);

}

From source file:net.relet.freimap.LinkInfo.java

public void setLinkProfile(LinkedList<LinkData> lp) {

    XYSeries data = new XYSeries("etx");
    XYSeries avail = new XYSeries("avail");
    XYSeriesCollection datac = new XYSeriesCollection(data);
    datac.addSeries(avail);//from  w w  w.j a va 2  s .  com
    linkChart = ChartFactory.createXYLineChart("average link etx\r\naverage link availability", "time", "etx",
            datac, PlotOrientation.VERTICAL, false, false, false);
    sexupLayout(linkChart);

    long first = lp.getFirst().time, last = lp.getLast().time, lastClock = first, count = 0, //number of samplis in aggregation timespan
            maxCount = 0; //max idem
    long aggregate = (last - first) / CHART_WIDTH; //calculate aggregation timespan: divide available timespan in CHART_WIDTH equal chunks
    double sum = 0;

    /* ok, this ain't effective, we do it just to pre-calculate maxCount */
    ListIterator<LinkData> li = lp.listIterator();
    while (li.hasNext()) {
        LinkData ld = li.next();
        count++;
        if (ld.time - lastClock > aggregate) {
            if (maxCount < count)
                maxCount = count;
            lastClock = ld.time;
            count = 0;
        }
    }

    //reset for second iteration
    count = 0;
    lastClock = first;

    //iterate again
    li = lp.listIterator();
    while (li.hasNext()) {
        LinkData ld = li.next();

        sum += ld.quality;
        count++;

        if (aggregate == 0)
            aggregate = 1000;//dirty hack
        if (ld.time - lastClock > aggregate) {
            for (long i = lastClock; i < ld.time - aggregate; i += aggregate) {
                data.add(i * 1000, (i == lastClock) ? sum / count : Double.NaN);
                avail.add(i * 1000, (i == lastClock) ? ((double) count / maxCount) : 0);
            }

            count = 0;
            sum = 0;
            lastClock = ld.time;
        }
    }

    status = STATUS_AVAILABLE;
}

From source file:org.drugis.addis.gui.LyndOBrienChartFactory.java

public static JFreeChart buildRiskAcceptabilityCurve(LyndOBrienModel model) {
    XYDataset data = new AcceptabilityCurveDataset(model);
    JFreeChart chart = ChartFactory.createXYLineChart("Benefit-Risk Acceptability curve",
            "Acceptability threshold \u03BC", "Probability", data, PlotOrientation.VERTICAL, false, false,
            false);/*from   w  w w  .  j av  a2  s .  c o m*/
    chart.getXYPlot().getRangeAxis().setRange(0, 1);
    return chart;
}

From source file:user.CreateChart.java

private ImageIcon XYChart(XYSeriesCollection dataset, String name, String X, String Y) {

    JFreeChart chart = ChartFactory.createXYLineChart(name, X, Y, dataset, PlotOrientation.VERTICAL, true, true,
            false);/*  w w w.  j ava 2s .  c o  m*/

    ImageIcon ii = new ImageIcon(chart.createBufferedImage(592, 500));
    return ii;
}

From source file:SystemAnomalies.bouncedLogInRate.java

public ChartPanel getChartPanel() {
    XYSeries series = new XYSeries("Annual Composite Production Vs Farmers Experience");
    series.add(0, 0);//w  w w.  j av a2 s. c o m
    series.add(1, 100);
    series.add(2, 100);
    series.add(3, 100);
    series.add(4, 120);
    series.add(5, 120);
    series.add(6, 1040);
    series.add(7, 1040);
    series.add(8, 1040);
    series.add(9, 2000);
    series.add(10, 2000);
    series.add(11, 100);
    series.add(12, 100);
    series.add(13, 100);
    series.add(14, 120);
    series.add(15, 120);
    series.add(16, 1040);
    series.add(17, 1040);
    series.add(18, 1040);
    series.add(19, 2000);
    series.add(20, 2000);
    series.add(21, 1845);
    series.add(22, 1040);
    series.add(23, 2000);

    // Add the series to your data set
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);
    // Generate the graph
    JFreeChart chart = ChartFactory.createXYLineChart("Sign-in Bounce off Rate", // Title
            "Time of Day", // x-axis Label
            "Number of Attempts", // y-axis Label
            dataset, // Dataset
            PlotOrientation.VERTICAL, // Plot Orientation
            true, // Show Legend
            true, // Use tooltips
            false // Configure chart to generate URLs?
    );

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setBackground(Color.WHITE);
    chartPanel.setBounds(2, 5, 750, 500);
    chartPanel.setBorder(new LineBorder(Color.decode("#f5f5f5"), 2));

    return chartPanel;
}

From source file:org.physionet.graphics.Plot.java

private static JFreeChart createChart(XYDataset dataset, String title, String timeLabel,
        String amplitudeLabel) {/*from   w w  w.j ava2s . c  o  m*/
    // create the chart...
    JFreeChart chart = ChartFactory.createXYLineChart(title, // chart title
            timeLabel, // x axis label
            amplitudeLabel, // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.getDomainAxis().setLowerMargin(0.0);
    plot.getDomainAxis().setUpperMargin(0.0);
    return chart;
}

From source file:org.matsim.contrib.dvrp.util.chart.RouteCharts.java

public static JFreeChart chartRoutes(Collection<? extends Vehicle> vehicles) {
    CoordDataset lData = new CoordDataset();
    int i = 0;//from www .  j av  a 2s  .  c o  m
    for (Vehicle v : vehicles) {
        Schedule schedule = v.getSchedule();
        lData.addSeries(Integer.toString(i++), ScheduleCoordSources.createCoordSource(schedule));
    }

    JFreeChart chart = ChartFactory.createXYLineChart("Routes", "X", "Y", lData, PlotOrientation.VERTICAL, true,
            true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setRangeGridlinesVisible(false);
    plot.setDomainGridlinesVisible(false);
    plot.setBackgroundPaint(Color.white);

    NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
    yAxis.setAutoRangeIncludesZero(false);

    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    renderer.setSeriesShapesVisible(0, true);
    renderer.setSeriesLinesVisible(0, false);
    renderer.setSeriesItemLabelsVisible(0, true);

    renderer.setBaseItemLabelGenerator(new XYItemLabelGenerator() {
        public String generateLabel(XYDataset dataset, int series, int item) {
            return ((CoordDataset) dataset).getText(series, item);
        }
    });

    for (int j = 1; j <= vehicles.size(); j++) {
        renderer.setSeriesShapesVisible(j, true);
        renderer.setSeriesLinesVisible(j, true);
        renderer.setSeriesItemLabelsVisible(j, true);
    }

    return chart;
}