Example usage for org.jfree.chart ChartFactory createLineChart

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

Introduction

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

Prototype

public static JFreeChart createLineChart(String title, String categoryAxisLabel, String valueAxisLabel,
        CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a line chart with default settings.

Usage

From source file:com.liferay.polls.web.internal.portlet.action.ViewChartMVCResourceCommand.java

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    try {/*from w w  w.ja v a2  s  .  c o m*/
        ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);

        long questionId = ParamUtil.getLong(resourceRequest, "questionId");

        String chartType = ParamUtil.getString(resourceRequest, "chartType", "pie");
        String chartName = themeDisplay.translate("vote-results");
        String xName = themeDisplay.translate("choice");
        String yName = themeDisplay.translate("votes");

        CategoryDataset categoryDataset = PollsUtil.getVotesDataset(questionId);

        JFreeChart jFreeChat = null;

        if (chartType.equals("area")) {
            jFreeChat = ChartFactory.createAreaChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else if (chartType.equals("horizontal_bar")) {
            jFreeChat = ChartFactory.createBarChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.HORIZONTAL, true, false, false);
        } else if (chartType.equals("line")) {
            jFreeChat = ChartFactory.createLineChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else if (chartType.equals("vertical_bar")) {
            jFreeChat = ChartFactory.createBarChart(chartName, xName, yName, categoryDataset,
                    PlotOrientation.VERTICAL, true, false, false);
        } else {
            PieDataset pieDataset = DatasetUtilities.createPieDatasetForRow(categoryDataset, 0);

            jFreeChat = ChartFactory.createPieChart(chartName, pieDataset, true, false, false);
        }

        resourceResponse.setContentType(ContentTypes.IMAGE_JPEG);

        OutputStream outputStream = resourceResponse.getPortletOutputStream();

        ChartUtilities.writeChartAsJPEG(outputStream, jFreeChat, 400, 400);
    } catch (Exception e) {
        PortletSession portletSession = resourceRequest.getPortletSession();

        PortletContext portletContext = portletSession.getPortletContext();

        PortletRequestDispatcher requestDispatcher = portletContext.getRequestDispatcher("/polls/error.jsp");

        requestDispatcher.forward(resourceRequest, resourceResponse);
    }
}

From source file:hudson.plugins.codeviation.MetricsAction.java

private JFreeChart createChart(CategoryDataset dataset, int maxVal) {

    final JFreeChart chart = ChartFactory.createLineChart(null, // chart title
            null, // unused
            "count", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );/*from ww w . j  a v  a2  s  .  c  om*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    final LegendTitle legend = chart.getLegend();
    legend.setPosition(RectangleEdge.RIGHT);

    chart.setBackgroundPaint(Color.white);

    final CategoryPlot plot = chart.getCategoryPlot();

    // plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
    plot.setBackgroundPaint(Color.WHITE);
    plot.setOutlinePaint(null);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.black);

    CategoryAxis domainAxis = new ShiftedCategoryAxis(null);
    plot.setDomainAxis(domainAxis);
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    domainAxis.setLowerMargin(0.0);
    domainAxis.setUpperMargin(0.0);
    domainAxis.setCategoryMargin(0.0);

    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setUpperBound(maxVal);
    rangeAxis.setLowerBound(0);

    final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
    renderer.setStroke(new BasicStroke(4.0f));

    // crop extra space around the graph
    plot.setInsets(new RectangleInsets(5.0, 0, 0, 5.0));

    return chart;
}

From source file:cz.cvut.kbe.crypthelper.ui.MainPanel.java

public void setChartData() {
    CategoryDataset dataset = getDataset();

    JFreeChart chart = ChartFactory.createLineChart("etnost znak", "Znak", "etnost (%)", dataset,
            PlotOrientation.VERTICAL, false, false, false);

    styleChart(chart);//  w w  w .ja v  a2s. co m

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setMaximumDrawHeight(800);
    chartPanel.setMaximumDrawHeight(600);
    graphPanel.removeAll();
    graphPanel.add(chartPanel, BorderLayout.CENTER);
    graphPanel.updateUI();

    bottomPanel.setVisible(true);
}

From source file:net.sf.mzmine.modules.visualization.intensityplot.IntensityPlotFrame.java

public IntensityPlotFrame(ParameterSet parameters) {

    PeakList peakList = parameters.getParameter(IntensityPlotParameters.peakList).getValue()[0];

    String title = "Intensity plot [" + peakList + "]";
    String xAxisLabel = parameters.getParameter(IntensityPlotParameters.xAxisValueSource).getValue().toString();
    String yAxisLabel = parameters.getParameter(IntensityPlotParameters.yAxisValueSource).getValue().toString();

    // create dataset
    dataset = new IntensityPlotDataset(parameters);

    // create new JFreeChart
    logger.finest("Creating new chart instance");
    Object xAxisValueSource = parameters.getParameter(IntensityPlotParameters.xAxisValueSource).getValue();
    boolean isCombo = (xAxisValueSource instanceof ParameterWrapper)
            && (((ParameterWrapper) xAxisValueSource).getParameter() instanceof ComboParameter);
    if ((xAxisValueSource == IntensityPlotParameters.rawDataFilesOption) || isCombo) {

        chart = ChartFactory.createLineChart(title, xAxisLabel, yAxisLabel, dataset, PlotOrientation.VERTICAL,
                true, true, false);/*from ww w  .  j  a  va  2 s. c om*/

        CategoryPlot plot = (CategoryPlot) chart.getPlot();

        // set renderer
        StatisticalLineAndShapeRenderer renderer = new StatisticalLineAndShapeRenderer(false, true);
        renderer.setBaseStroke(new BasicStroke(2));
        plot.setRenderer(renderer);
        plot.setBackgroundPaint(Color.white);

        // set tooltip generator
        CategoryToolTipGenerator toolTipGenerator = new IntensityPlotTooltipGenerator();
        renderer.setBaseToolTipGenerator(toolTipGenerator);

        CategoryAxis xAxis = (CategoryAxis) plot.getDomainAxis();
        xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);

    } else {

        chart = ChartFactory.createXYLineChart(title, xAxisLabel, yAxisLabel, dataset, PlotOrientation.VERTICAL,
                true, true, false);

        XYPlot plot = (XYPlot) chart.getPlot();

        XYErrorRenderer renderer = new XYErrorRenderer();
        renderer.setBaseStroke(new BasicStroke(2));
        plot.setRenderer(renderer);
        plot.setBackgroundPaint(Color.white);

        // set tooltip generator
        XYToolTipGenerator toolTipGenerator = new IntensityPlotTooltipGenerator();
        renderer.setBaseToolTipGenerator(toolTipGenerator);

    }

    chart.setBackgroundPaint(Color.white);

    // create chart JPanel
    ChartPanel chartPanel = new ChartPanel(chart);
    add(chartPanel, BorderLayout.CENTER);

    IntensityPlotToolBar toolBar = new IntensityPlotToolBar(this);
    add(toolBar, BorderLayout.EAST);

    // disable maximum size (we don't want scaling)
    chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);
    chartPanel.setMaximumDrawHeight(Integer.MAX_VALUE);

    // set title properties
    TextTitle chartTitle = chart.getTitle();
    chartTitle.setMargin(5, 0, 0, 0);
    chartTitle.setFont(titleFont);

    LegendTitle legend = chart.getLegend();
    legend.setItemFont(legendFont);
    legend.setBorder(0, 0, 0, 0);

    Plot plot = chart.getPlot();

    // set shape provider
    IntensityPlotDrawingSupplier shapeSupplier = new IntensityPlotDrawingSupplier();
    plot.setDrawingSupplier(shapeSupplier);

    // set y axis properties
    NumberAxis yAxis;
    if (plot instanceof CategoryPlot)
        yAxis = (NumberAxis) ((CategoryPlot) plot).getRangeAxis();
    else
        yAxis = (NumberAxis) ((XYPlot) plot).getRangeAxis();
    NumberFormat yAxisFormat = MZmineCore.getConfiguration().getIntensityFormat();
    if (parameters.getParameter(IntensityPlotParameters.yAxisValueSource).getValue() == YAxisValueSource.RT)
        yAxisFormat = MZmineCore.getConfiguration().getRTFormat();
    yAxis.setNumberFormatOverride(yAxisFormat);

    setTitle(title);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setBackground(Color.white);
    pack();

}

From source file:menusearch.ui.MenuGraph.java

/**
 * Displays a LineChart based on the number of menus by years Data is
 * according to the menus currently being displayed on MenuResultsPage
 *
 * @param evt- When displayLineChart button is clicked
 *//*from   w  ww  . j  a  v a2 s .c  o m*/
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed

    try {
        MenuResultsPage mp = new MenuResultsPage();
        SearchMenusPanel x = new SearchMenusPanel();
        SearchParameters p = x.buildSearchParameters();
        ArrayList<Menu> search = mp.menuListResults(p);
        ArrayList<LocalDate> menu_date = null;
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        for (int i = 0; i < search.size(); i++) {
            menu_date.add(search.get(i).getMenu_date());
            int year = menu_date.get(i).getYear();
            dataset.addValue(year, "Years", "Number of Menus");
        }

        JFreeChart chart = ChartFactory.createLineChart("Number of Menus by Years", "Years", "Number of Menus",
                dataset, PlotOrientation.VERTICAL, false, true, true);
        BarRenderer renderer = null;
        CategoryPlot plot = null;
        renderer = new BarRenderer();
        ChartPanel chPanel = new ChartPanel(chart);
        chPanel.setVisible(true);
        chPanel.setPreferredSize(new Dimension(575, 300));
        chPanel.setMouseWheelEnabled(true);
        JPanel jPanel = new JPanel();
        jPanel.setLayout(new java.awt.BorderLayout());
        jPanel.add(chPanel, BorderLayout.CENTER);
        jPanel.validate();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(MenuGraph.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        Logger.getLogger(MenuGraph.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:org.matsim.pt.counts.PtBiasErrorGraph.java

@Override
public JFreeChart createChart(final int nbr) {
    DefaultCategoryDataset dataset0 = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

    this.errorStats = new ComparisonErrorStatsCalculator(this.ccl_);

    double[] meanRelError = errorStats.getMeanRelError();
    // double[] meanAbsError = errorStats.getMeanAbsError();
    double[] meanAbsBias = errorStats.getMeanAbsBias();

    for (int h = 0; h < 24; h++) {
        dataset0.addValue(meanRelError[h], "Mean rel error", Integer.toString(h + 1));
        // dataset1.addValue(meanAbsError[h], "Mean abs error",
        // Integer.toString(h + 1));
        dataset1.addValue(meanAbsBias[h], "Mean abs bias", Integer.toString(h + 1));
    }/*from  www . j a v  a2  s . c  o  m*/

    this.chart_ = ChartFactory.createLineChart(this.chartTitle, "Hour", "Mean rel error [%]", dataset0,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = this.chart_.getCategoryPlot();
    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, dataset1);
    plot.mapDatasetToRangeAxis(1, 1);

    final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
    renderer.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    plot.setRenderer(0, renderer);

    final CategoryAxis axis1 = new CategoryAxis("Hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(axis1);

    // final ValueAxis axis2 = new
    // NumberAxis("Mean abs {bias, error} [veh/h]");
    final ValueAxis axis2 = new NumberAxis("Mean abs bias [veh/h]");
    plot.setRangeAxis(1, axis2);

    final ValueAxis axis3 = plot.getRangeAxis(0);
    axis3.setRange(0.0, 100.0);

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    renderer2.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    renderer2.setSeriesToolTipGenerator(1, new StandardCategoryToolTipGenerator());
    // renderer2.setSeriesPaint(0, Color.black);
    plot.setRenderer(1, renderer2);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);

    return this.chart_;
}

From source file:edu.ucla.stat.SOCR.chart.SuperCategoryChart.java

protected JFreeChart createLegend(CategoryDataset dataset) {

    //  JFreeChart chart = ChartFactory.createAreaChart(
    JFreeChart chart = ChartFactory.createLineChart(chartTitle, // chart title
            domainLabel, // "Category",               // domain axis label
            rangeLabel, //"Value",                  // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips
            false // urls
    );//from  ww w  .j  a  va2s. co m

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    chart.setBackgroundPaint(Color.white);
    CategoryPlot plot = chart.getCategoryPlot();

    LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseShapesVisible(true);
    // renderer.setDrawOutlines(true);
    // renderer.setUseFillPaint(true);
    // renderer.setFillPaint(Color.white);
    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());
    return chart;

}

From source file:org.matsim.pt.counts.obsolete.PtBiasErrorGraph.java

@Override
@Deprecated // use standard counts package
public JFreeChart createChart(final int nbr) {
    DefaultCategoryDataset dataset0 = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

    this.errorStats = new ComparisonErrorStatsCalculator(this.ccl_);

    double[] meanRelError = errorStats.getMeanRelError();
    // double[] meanAbsError = errorStats.getMeanAbsError();
    double[] meanAbsBias = errorStats.getMeanAbsBias();

    for (int h = 0; h < 24; h++) {
        dataset0.addValue(meanRelError[h], "Mean rel error", Integer.toString(h + 1));
        // dataset1.addValue(meanAbsError[h], "Mean abs error",
        // Integer.toString(h + 1));
        dataset1.addValue(meanAbsBias[h], "Mean abs bias", Integer.toString(h + 1));
    }//w ww .j  a va 2 s. c o m

    this.chart_ = ChartFactory.createLineChart(this.chartTitle, "Hour", "Mean rel error [%]", dataset0,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = this.chart_.getCategoryPlot();
    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, dataset1);
    plot.mapDatasetToRangeAxis(1, 1);

    final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
    renderer.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    plot.setRenderer(0, renderer);

    final CategoryAxis axis1 = new CategoryAxis("Hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(axis1);

    // final ValueAxis axis2 = new
    // NumberAxis("Mean abs {bias, error} [veh/h]");
    final ValueAxis axis2 = new NumberAxis("Mean abs bias [veh/h]");
    plot.setRangeAxis(1, axis2);

    final ValueAxis axis3 = plot.getRangeAxis(0);
    axis3.setRange(0.0, 100.0);

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    renderer2.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    renderer2.setSeriesToolTipGenerator(1, new StandardCategoryToolTipGenerator());
    // renderer2.setSeriesPaint(0, Color.black);
    plot.setRenderer(1, renderer2);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);

    return this.chart_;
}

From source file:biz.ixnay.pivot.charts.skin.jfree.LineChartViewSkin.java

@Override
protected JFreeChart createChart() {
    LineChartView chartView = (LineChartView) getComponent();

    String title = chartView.getTitle();
    String horizontalAxisLabel = chartView.getHorizontalAxisLabel();
    String verticalAxisLabel = chartView.getVerticalAxisLabel();
    boolean showLegend = chartView.getShowLegend();

    String seriesNameKey = chartView.getSeriesNameKey();
    List<?> chartData = chartView.getChartData();

    JFreeChart chart;//from  w w  w .ja v a2s  . c  o  m
    ChartView.CategorySequence categories = chartView.getCategories();
    if (categories.getLength() > 0) {
        CategorySeriesDataset dataset = new CategorySeriesDataset(categories, seriesNameKey, chartData);

        if (threeDimensional) {
            chart = ChartFactory.createLineChart3D(title, horizontalAxisLabel, verticalAxisLabel, dataset,
                    PlotOrientation.VERTICAL, showLegend, false, false);
        } else {
            chart = ChartFactory.createLineChart(title, horizontalAxisLabel, verticalAxisLabel, dataset,
                    PlotOrientation.VERTICAL, showLegend, false, false);
        }

        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        CategoryAxis domainAxis = plot.getDomainAxis();
        CategoryLabelPositions categoryLabelPositions = CategoryLabelPositions
                .createUpRotationLabelPositions(categoryLabelRotation);
        domainAxis.setCategoryLabelPositions(categoryLabelPositions);

        if (rangeAxisRange != null) {
            ValueAxis rangeAxis = plot.getRangeAxis();
            rangeAxis.setRange(rangeAxisRange);
        }
    } else {
        chart = ChartFactory.createXYLineChart(title, horizontalAxisLabel, verticalAxisLabel,
                new XYSeriesDataset(seriesNameKey, chartData), PlotOrientation.VERTICAL, showLegend, false,
                false);

        if (rangeAxisRange != null) {
            XYPlot plot = (XYPlot) chart.getPlot();
            ValueAxis rangeAxis = plot.getRangeAxis();
            rangeAxis.setRange(rangeAxisRange);
        }
    }

    return chart;
}

From source file:org.usip.osp.graphs.GraphServer.java

public static Chart getChartByNameAndRound(String chart_id, String game_round, String sim_id,
        String values_table) {/*from  w ww . jav  a2  s  .  co  m*/

    Chart cci = new Chart();

    String selectChartInfo = "SELECT * FROM `charts` where sf_id = '" //$NON-NLS-1$
            + chart_id + "'"; //$NON-NLS-1$

    try {
        Connection connection = MultiSchemaHibernateUtil.getConnection();
        Statement stmt = connection.createStatement();
        ResultSet rst = stmt.executeQuery(selectChartInfo);

        if (rst.next()) {
            String chart_type = rst.getString("type"); //$NON-NLS-1$
            String chart_title = rst.getString("title"); //$NON-NLS-1$
            String x_axis_title = rst.getString("x_axis_title"); //$NON-NLS-1$
            String y_axis_title = rst.getString("y_axis_title"); //$NON-NLS-1$

            //cci.height = rst.getInt("height");
            //cci.width = rst.getInt("width");

            String howToGetData = rst.getString("first_data_source"); //$NON-NLS-1$

            howToGetData = howToGetData.replace("[simulation_id]", sim_id); //$NON-NLS-1$
            howToGetData = howToGetData.replace("[sim_value_table_name]", values_table); //$NON-NLS-1$

            Statement stmt2 = connection.createStatement();
            ResultSet rst2 = stmt.executeQuery(howToGetData);

            JFreeChart chart = null;

            if (chart_type.equalsIgnoreCase("LineChart")) { //$NON-NLS-1$

                DefaultCategoryDataset cd = DataGatherer.getChartData(chart_type, game_round, howToGetData);

                chart = ChartFactory.createLineChart(chart_title, // chart
                        // title
                        x_axis_title, // domain axis label
                        y_axis_title, // range axis label
                        cd, // data
                        PlotOrientation.VERTICAL, // orientation
                        false, // include legend
                        true, // tooltips
                        false // urls
                );

            } else if (chart_type.equalsIgnoreCase("BarChart")) { //$NON-NLS-1$

                DefaultPieDataset dataset = DataGatherer.getPieData(chart_id, game_round, howToGetData);

                chart = ChartFactory.createPieChart(chart_title, dataset, true, // legend?
                        true, // tooltips?
                        false // URLs?
                );
            }

            cci.setThis_chart(chart);

        } // End of loop if found chart info

        connection.close();

    } catch (Exception e) {
        e.printStackTrace();
    }

    return cci;
}