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:medic_hospital.GlucoseTrend.java

public void populateChart(int id) {

    int[] glucoseList;
    double[] dateList;

    try {//from   www. j a va 2 s .  c  om
        Class.forName("com.mysql.jdbc.Driver");
        con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/medic", "root", "");

        //To get the number of rows in the result
        String sql = "Select Count(*) from patient_statistics where patient_id = ?";
        pst = con.prepareStatement(sql);
        pst.setInt(1, id);
        rs = pst.executeQuery();

        if (rs.next()) {
            glucoseList = new int[rs.getInt("Count(*)")];
            dateList = new double[rs.getInt("Count(*)")];
        } else {
            glucoseList = new int[1];
            dateList = new double[1];
        }

        //To get the statistic
        sql = "Select glucose_level, date_of_submission from patient_statistics where patient_id = ?";
        pst = con.prepareStatement(sql);
        pst.setInt(1, id);
        rs = pst.executeQuery();

        int li_item = 0;
        String date = "";
        while (rs.next()) {
            date = "";

            glucoseList[li_item] = rs.getInt("glucose_level");

            date = rs.getString("date_of_submission");
            date = date.replaceAll("/", "");
            date = date.replaceAll(":", "");
            date = date.replaceAll(" ", "");

            dateList[li_item] = Double.parseDouble(date);

            li_item++;
        }

        JFreeChart chart;
        chart = ChartFactory.createLineChart("Glucose Levels Over Time", "Time", "Glucose Level",
                createDataset(glucoseList, dateList), PlotOrientation.VERTICAL, true, true, false);

        //Setting the window contents of the JFrame
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(560, 367));
        f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        f.setLayout(new BorderLayout(0, 5));
        f.add(chartPanel, BorderLayout.CENTER);
        f.pack();
        f.setVisible(true);

    } catch (SQLException | ClassNotFoundException ex) {
        Logger.getLogger(GlucoseTrend.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:medic_hospital.CholesterolTrend.java

public void populateChart(int id) {

    int[] cholesterolList;
    double[] dateList;

    try {/*  ww w.j  a va2  s .com*/
        Class.forName("com.mysql.jdbc.Driver");
        con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/medic", "root", "");

        //To get the number of rows in the result
        String sql = "Select Count(*) from patient_statistics where patient_id = ?";
        pst = con.prepareStatement(sql);
        pst.setInt(1, id);
        rs = pst.executeQuery();

        if (rs.next()) {
            cholesterolList = new int[rs.getInt("Count(*)")];
            dateList = new double[rs.getInt("Count(*)")];
        } else {
            cholesterolList = new int[1];
            dateList = new double[1];
        }

        //To get the statistic
        sql = "Select cholesterol, date_of_submission from patient_statistics where patient_id = ?";
        pst = con.prepareStatement(sql);
        pst.setInt(1, id);
        rs = pst.executeQuery();

        int li_item = 0;
        String date = "";
        while (rs.next()) {
            date = "";

            cholesterolList[li_item] = rs.getInt("cholesterol");

            date = rs.getString("date_of_submission");
            date = date.replaceAll("/", "");
            date = date.replaceAll(":", "");
            date = date.replaceAll(" ", "");

            dateList[li_item] = Double.parseDouble(date);

            li_item++;
        }

        JFreeChart chart;
        chart = ChartFactory.createLineChart("Cholesterol Levels Over Time", "Time", "Cholesterol Level",
                createDataset(cholesterolList, dateList), PlotOrientation.VERTICAL, true, true, false);

        //Setting the window contents of the JFrame
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(560, 367));
        f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        f.setLayout(new BorderLayout(0, 5));
        f.add(chartPanel, BorderLayout.CENTER);
        f.pack();
        f.setVisible(true);

    } catch (SQLException | ClassNotFoundException ex) {
        Logger.getLogger(GlucoseTrend.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:edu.cuny.cat.ui.TraderDistributionPanel.java

public TraderDistributionPanel() {

    registry = GameController.getInstance().getRegistry();
    clock = GameController.getInstance().getClock();

    dataset = new DefaultCategoryDataset();

    setTitledBorder("Trader Distribution");

    chart = ChartFactory.createLineChart("", "", "", dataset, PlotOrientation.VERTICAL, true, true, false);
    chart.setBackgroundPaint(getBackground());
    final CategoryPlot categoryplot = chart.getCategoryPlot();
    categoryplot.setOrientation(PlotOrientation.HORIZONTAL);
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    final LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot.getRenderer();
    UIUtils.setDefaultLineAndShapeRendererStyle(lineandshaperenderer);
    lineandshaperenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    final NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setAutoRangeIncludesZero(false);
    numberaxis.setUpperMargin(0.12D);//from w ww.  ja  v a 2  s .c  o m

    final ChartPanel chartPanel = new ChartPanel(chart);
    add(chartPanel, BorderLayout.CENTER);
}

From source file:FILA.Produtor.java

@Override
public void run() {

    System.out.println("Produtor iniciado!");

    long lastTimeArrival, lastTimeExit, now;
    int multiplier = 1;
    int maxArrival = 5;
    int rngArrival;
    double yEntrada = 3.2;
    int indice = 1;

    now = new Date().getTime();

    JFreeChart grafico;/* ww w. j a v a 2  s  .  c  o m*/
    tempoAnterior = now;
    while (true) {
        now = new Date().getTime();
        if (tempoAnterior + multiplier * intervalo <= now) {
            timePassed += 1;
            if (timePassed % 5 == 0) {
                System.out.println(
                        "Passaram " + timePassed + " segundos/ " + fila.getSize() + " pessoas na fila.");
            }
            if (timePassed % 10 == 0) {
                System.out.println("teste");
                grafico = ChartFactory.createLineChart("Pessoas na fila", "Tempo", "Quantidade", dataset,
                        PlotOrientation.VERTICAL, true, true, false);
                OutputStream arquivo;
                try {
                    arquivo = new FileOutputStream("teste.png");
                    ChartUtilities.writeChartAsPNG(arquivo, grafico, 550, 400);
                } catch (FileNotFoundException ex) {
                    Logger.getLogger(Produtor.class.getName()).log(Level.SEVERE, null, ex);
                } catch (IOException ex) {
                    Logger.getLogger(Produtor.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            //System.out.println(timePassed);
            tempoAnterior = now;
            rngArrival = rng.nextInt(maxArrival + 1);
            rngResult = rng.nextDouble();
            //rngArrival = 2;
            if (isFullRandom) {
                if (rngResult < yEntrada) {
                    for (int i = 0; i < rngArrival; i++) {
                        //System.out.println("set");
                        fila.set(indice++);
                    }
                }
            } else {
                if (rngResult <= Poisson(yEntrada, rngArrival)) {
                    for (int i = 0; i < rngArrival; i++) {
                        //System.out.println("set");
                        fila.set(indice++);
                    }
                }
            }
            dataset.addValue(fila.getSize(), "", timePassed + "s");
        }
    }
}

From source file:guineu.modules.visualization.intensityplot.IntensityPlotFrame.java

public IntensityPlotFrame(ParameterSet parameters) {
    super("", true, true, true, true);

    String title = "Intensity plot [" + GuineuCore.getDesktop().getSelectedDataFiles()[0].getDatasetName()
            + "]";
    String xAxisLabel = parameters.getParameter(IntensityPlotParameters.xAxisValueSource).getValue().toString();

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

    // create new JFreeChart
    logger.finest("Creating new chart instance");

    chart = ChartFactory.createLineChart(title, xAxisLabel, "Height", dataset, PlotOrientation.VERTICAL, true,
            true, false);/*from   w w w  .  j a v  a2s.  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);

    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 dplot = chart.getPlot();

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

    // set y axis properties
    NumberAxis yAxis;

    yAxis = (NumberAxis) ((CategoryPlot) dplot).getRangeAxis();

    NumberFormat yAxisFormat = new DecimalFormat("0.0E0");
    yAxis.setNumberFormatOverride(yAxisFormat);

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

}

From source file:Demo.LineGraph.java

private void InitChart() {
    JFreeChart chart = ChartFactory.createLineChart("Yield", "sample NB", "Probability", dataSet,
            PlotOrientation.VERTICAL, false, false, false);

    CategoryPlot plot = chart.getCategoryPlot();

    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);

    plot.setDomainGridlinesVisible(true);
    plot.setNoDataMessage("no data");

    LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();

    renderer.setBaseItemLabelsVisible(true);
    renderer.setSeriesPaint(0, Color.BLUE);

    renderer.setBaseShapesVisible(true);
    renderer.setBaseShapesFilled(true);//from w w w .j a va  2 s.co  m

    renderer.setBaseItemLabelsVisible(true);
    renderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelFont(new Font("Times New Romain", 0, 10));
    plot.setRenderer(renderer);

    CategoryAxis axis = plot.getDomainAxis();
    axis.setCategoryLabelPositions(CategoryLabelPositions.createDownRotationLabelPositions(Math.PI / 6.0));

    chartPane = new ChartPanel(chart);
}

From source file:com.porepw.porli.frame.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.setValue(60, "Marks", "Student 1");
    dataset.setValue(40, "Marks", "Student 2");
    dataset.setValue(90, "Marks", "Student 3");
    dataset.setValue(50, "Marks", "Student 4");
    dataset.setValue(70, "Marks", "Student 5");
    dataset.setValue(30, "Marks", "Student 6");

    JFreeChart chart = ChartFactory.createLineChart("Student Marks", "Student Name", "Marks", dataset,
            PlotOrientation.HORIZONTAL, false, true, false);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLACK);
    ChartPanel panel = new ChartPanel(chart);
    panel.setDomainZoomable(true);//from  w w  w  .j  a  v  a2s. c  om
    jPanel2.add(panel, BorderLayout.CENTER);
    panel.setPreferredSize(new java.awt.Dimension(500, 270));
}

From source file:com.liferay.portlet.polls.action.ViewChartAction.java

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {/*from w w  w. j  a va 2 s. c o  m*/
        ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

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

        String chartType = ParamUtil.getString(request, "chartType", "pie");

        CategoryDataset dataset = PollsUtil.getVotesDataset(questionId);

        String chartName = themeDisplay.translate("vote-results");
        String xName = themeDisplay.translate("choice");
        String yName = themeDisplay.translate("votes");

        JFreeChart chart = null;

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

            chart = ChartFactory.createPieChart(chartName, pieData, true, false, false);
        }

        response.setContentType(ContentTypes.IMAGE_JPEG);

        OutputStream os = response.getOutputStream();

        ChartUtilities.writeChartAsJPEG(os, chart, 400, 400);

        return null;
    } catch (Exception e) {
        PortalUtil.sendError(e, request, response);

        return null;
    }
}

From source file:org.pentaho.chart.plugin.jfreechart.chart.line.JFree3DLineChartGenerator.java

protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) {
    final ChartDocument chartDocument = chartDocContext.getChartDocument();
    final String title = getTitle(chartDocument);
    final String valueCategoryLabel = getValueCategoryLabel(chartDocument);
    final String valueAxisLabel = getValueAxisLabel(chartDocument);
    final PlotOrientation orientation = getPlotOrientation(chartDocument);
    final boolean legend = getShowLegend(chartDocument);
    final boolean toolTips = getShowToolTips(chartDocument);

    final DefaultCategoryDataset categoryDataset = datasetGeneratorFactory
            .createDefaultCategoryDataset(chartDocContext, data);

    final JFreeChart chart = ChartFactory.createLineChart(title, valueCategoryLabel, valueAxisLabel,
            categoryDataset, orientation, legend, toolTips, toolTips);

    final CategoryPlot categoryPlot = chart.getCategoryPlot();
    categoryPlot.setRenderer(new LineRenderer3D());

    final ChartElement[] seriesElements = chartDocument.getRootElement()
            .findChildrenByName(ChartElement.TAG_NAME_SERIES);
    if (categoryPlot != null && seriesElements != null) {
        setSeriesAttributes(seriesElements, data, categoryPlot);
    }// w  w w  . ja va 2 s  .co  m

    return chart;
}

From source file:org.pentaho.chart.plugin.jfreechart.chart.line.JFreeLineChartGenerator.java

protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) {
    final ChartDocument chartDocument = chartDocContext.getChartDocument();
    final String title = getTitle(chartDocument);
    final String valueCategoryLabel = getValueCategoryLabel(chartDocument);
    final String valueAxisLabel = getValueAxisLabel(chartDocument);
    final PlotOrientation orientation = getPlotOrientation(chartDocument);
    final boolean legend = getShowLegend(chartDocument);
    final boolean toolTips = getShowToolTips(chartDocument);

    final DefaultCategoryDataset categoryDataset = datasetGeneratorFactory
            .createDefaultCategoryDataset(chartDocContext, data);

    final JFreeChart chart = ChartFactory.createLineChart(title, valueCategoryLabel, valueAxisLabel,
            categoryDataset, orientation, legend, toolTips, toolTips);

    final CategoryPlot categoryPlot = chart.getCategoryPlot();
    final ChartElement[] seriesElements = chartDocument.getRootElement()
            .findChildrenByName(ChartElement.TAG_NAME_SERIES);
    if (categoryPlot != null && seriesElements != null) {
        setSeriesAttributes(seriesElements, data, categoryPlot);
    }/*from  w  w  w  .j a va  2 s .  c om*/

    return chart;
}