Example usage for org.jfree.chart ChartUtilities saveChartAsJPEG

List of usage examples for org.jfree.chart ChartUtilities saveChartAsJPEG

Introduction

In this page you can find the example usage for org.jfree.chart ChartUtilities saveChartAsJPEG.

Prototype

public static void saveChartAsJPEG(File file, JFreeChart chart, int width, int height) throws IOException 

Source Link

Document

Saves a chart to a file in JPEG format.

Usage

From source file:dla_franctal.LineChart.java

public LineChart(final String title, ArrayList<Double> bbAreaRatio,
        ArrayList<Integer> staticParticlesAtCurrentTick) {

    super(title);

    final XYDataset dataset = createBBAreaRationDataset(bbAreaRatio, staticParticlesAtCurrentTick);
    final JFreeChart chart = createChart(dataset, null, null);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(650, 350));
    setContentPane(chartPanel);/*w w w. j  a  va  2s . c o  m*/
    try {
        ChartUtilities.saveChartAsJPEG(new File("./" + title + ".jpeg"), chart, 650, 350);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:OfficeAdministrator.CreatePieChart.java

public void createCharts() throws Exception
//public static void main(String args[]) throws Exception
{

    int open = 0;
    int closed = 0;

    /* Create MySQL Database Connection */
    Statement st = DBConnector.getStatement();
    Date date = new Date(System.currentTimeMillis());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String query = "SELECT COUNT(CallStatus) FROM calls WHERE CallStatus='Open' and Date='" + sdf.format(date)
            + "'";
    ResultSet resultSet = st.executeQuery(query);
    DefaultPieDataset dataset = new DefaultPieDataset();
    if (resultSet.next()) {
        open = Integer.parseInt(resultSet.getString(1));
    }/*from  w  ww  . ja v a  2 s  .  c  o m*/

    query = "SELECT COUNT(CallStatus) FROM calls WHERE CallStatus='Closed' and Date='" + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);

    if (resultSet.next()) {
        closed = Integer.parseInt(resultSet.getString(1));
    }
    dataset.setValue("Open", open);
    dataset.setValue("Closed", closed);

    JFreeChart chart = ChartFactory.createPieChart("Call Summary", // chart title           
            dataset, // data           
            true, // include legend          
            true, false);

    int width = 560; /* Width of the image */
    int height = 370; /* Height of the image */

    File pieChart = new File(
            "C:\\Users\\Rachna\\Documents\\NetBeansProjects\\OfficeAdministrator\\web\\images\\CallStatus_Chart.jpeg");
    // File pieChart = new File("/../web/images/CallStatus_Chart.jpeg");
    // File f = new File("OfficeAdministrator/web/images/CallStatus_Chart.jpeg");
    //System.out.println(f.getAbsolutePath());
    //File pieChart = new File(f.getAbsolutePath());

    ChartUtilities.saveChartAsJPEG(pieChart, chart, width, height);

    //Call details according to Department
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
    int accopen = 0, accclosed = 0, markopen = 0, markclosed = 0, seropen = 0, serclosed = 0, stopen = 0,
            stclosed = 0, diropen = 0, dirclosed = 0, foopen = 0, foclosed = 0;

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Accounts' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        accclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Accounts' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        accopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Marketing' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        markclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Marketing' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        markopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Service' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        serclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Service' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        seropen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Stores' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        stclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Stores' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        stopen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Director' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        dirclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='Director' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        diropen = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='None' and CallStatus='Closed' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        foclosed = Integer.parseInt(resultSet.getString(1));

    query = "SELECT COUNT(*) FROM calls WHERE TransferredTo='None' and CallStatus='Open' and Date='"
            + sdf.format(date) + "'";
    System.out.println(query);
    resultSet = st.executeQuery(query);
    if (resultSet.next())
        foopen = Integer.parseInt(resultSet.getString(1));

    dataset1.setValue(accopen, "Open", "Accounts");
    dataset1.setValue(accclosed, "Closed", "Accounts");
    dataset1.setValue(diropen, "Open", "Director");
    dataset1.setValue(dirclosed, "Closed", "Director");
    dataset1.setValue(foopen, "Open", "Front Office");
    dataset1.setValue(foclosed, "Closed", "Front Office");
    dataset1.setValue(markopen, "Open", "Marketing");
    dataset1.setValue(markclosed, "Closed", "Marketing");
    dataset1.setValue(seropen, "Open", "Service");
    dataset1.setValue(serclosed, "Closed", "Service");
    dataset1.setValue(stopen, "Open", "Stores");
    dataset1.setValue(stclosed, "Closed", "Stores");

    JFreeChart chart1 = ChartFactory.createBarChart("Call Summary", // chart title 
            "Department", "No of Calls", dataset1, // data
            PlotOrientation.VERTICAL, true, // include legend          
            true, false);

    File callChart = new File(
            "C:\\Users\\Rachna\\Documents\\NetBeansProjects\\OfficeAdministrator\\web\\images\\CallSum_Chart.jpeg");
    ChartUtilities.saveChartAsJPEG(callChart, chart1, width, height);
}

From source file:Graphics.Barchart.java

public void createImage(String nome, boolean jpg, int larg, int alt) {
    File pieChart = new File(nome);
    if (jpg) {/*from ww w  .  ja  va2 s .  c o m*/
        try {
            ChartUtilities.saveChartAsJPEG(pieChart, grafico, larg, alt);
        } catch (IOException ex) {
            Logger.getLogger(Piechart.class.getName()).log(Level.SEVERE, null, ex);
        }
    } else {
        try {
            ChartUtilities.saveChartAsPNG(pieChart, grafico, larg, alt);
        } catch (IOException ex) {
            Logger.getLogger(Piechart.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

From source file:recomm.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  www .j a  v a  2s  .  com
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {

        /* TODO output your page here. You may use following sample code. */

        final String fiat = "FIAT";
        final String audi = "AUDI";
        final String ford = "FORD";
        final String speed = "Speed";
        final String millage = "Millage";
        final String userrating = "User Rating";
        final String safety = "safety";

        final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        dataset.addValue(1.0, fiat, speed);
        dataset.addValue(3.0, fiat, userrating);
        dataset.addValue(5.0, fiat, millage);
        dataset.addValue(5.0, fiat, safety);

        dataset.addValue(1.0, audi, speed);
        dataset.addValue(1.0, audi, userrating);
        dataset.addValue(1.0, audi, millage);
        dataset.addValue(1.0, audi, safety);

        dataset.addValue(4.0, ford, speed);
        dataset.addValue(2.0, ford, userrating);
        dataset.addValue(3.0, ford, millage);
        dataset.addValue(6.0, ford, safety);

        JFreeChart barChart = ChartFactory.createBarChart("CAR USAGE STATISTICS", "Category", "Score", dataset,
                PlotOrientation.VERTICAL, true, true, false);

        int width = 640; /* Width of the image */
        int height = 480; /* Height of the image */
        File BarChart = new File("/home/rishabh/###amit/JavaApplication3BarChart.jpeg");
        ChartUtilities.saveChartAsJPEG(BarChart, barChart, width, height);

        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet recomm</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet recomm at " + request.getContextPath() + "</h1>");
        out.println("</body>");
        out.println("</html>");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.neo4j.bench.chart.AbstractJFreeChart.java

public void open(Reader input, Args options) throws IOException {
    final T dataset = instantiateDataset();
    ResultHandler handler = new ResultHandler() {
        public void newResult(Map<String, String> header) {
        }// ww  w  . ja v a  2  s. c om

        public void value(Map<String, String> header, double value, int numberOfIterations, String benchCase,
                String timer) {
            addValue(dataset, header, (int) value, numberOfIterations, benchCase, timer);
        }

        public void endResult() {
        }
    };

    Map<String, Collection<String>> aggregations = RunUtil.loadAggregations(options);
    if (aggregations != null) {
        handler = new AggregatedResultHandler(handler, aggregations);
    }

    ResultParser parser = new ResultParser(handler);
    parser.parse(input, options);

    JFreeChart chart = createChart(dataset);
    ChartPanel chartPanel = new ChartPanel(chart);
    Dimension dimensions = getDimensions();
    chartPanel.setPreferredSize(dimensions);
    File chartFile = new File(
            "chart-" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ".jpg");
    ChartUtilities.saveChartAsJPEG(chartFile, chart, (int) dimensions.getWidth(), (int) dimensions.getHeight());
}

From source file:ch.zhaw.init.walj.projectmanagement.util.chart.PieChart.java

/**
 * creates the pie chart/*w  w  w . j  a v  a  2  s  . co  m*/
 * @throws NumberFormatException
 * @throws IOException
 */
public void createChart() throws NumberFormatException, IOException {

    // create dataset with used and remaining budget
    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue("spent", con.getUsedBudget(project));
    dataset.setValue("remaining", con.getRemainingBudget(project));

    // create chart
    JFreeChart chart = ChartFactory.createPieChart("", dataset, false, false, false);

    // set color and style
    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setSectionPaint("remaining", new Color(0, 101, 166));
    plot.setSectionPaint("spent", new Color(0, 62, 102));
    plot.setLabelGenerator(null);
    plot.setBackgroundPaint(Color.WHITE);
    plot.setShadowXOffset(0);
    plot.setShadowYOffset(0);
    plot.setOutlineVisible(false);
    plot.setInteriorGap(0);

    // set size and save it as JPEG
    int width = 350; /* Width of the image */
    int height = 350; /* Height of the image */
    File pieChart = new File(path + "/Charts/BudgetProject" + project.getID() + ".jpg");
    ChartUtilities.saveChartAsJPEG(pieChart, chart, width, height);
}

From source file:tp2.FCFS.java

@Override
public void printGraph(String filename) {
    int i;//w w  w  .  ja  va2  s. c  o m
    int y_axis = requestString.length * 10;

    XYSeries series = new XYSeries("FCFS");

    /* Adiciona o pontos XY do grfico de linhas. */
    series.add(y_axis, initCilindro);

    for (i = 0; i < requestString.length; i++) {
        series.add(y_axis - ((i + 1) * 10), requestString[i]);
    }

    /* Adiciona a serie criada a um SeriesCollection. */
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);

    /* Gera o grfico de linhas */
    JFreeChart chart = ChartFactory.createXYLineChart(
            /* Title */
            "FCFS Scheduler Algorithm",
            /* Title x*/
            "",
            /* Title y */
            "Cilindro", dataset,
            /* Plot Orientation */
            PlotOrientation.HORIZONTAL,
            /* Show Legend */
            false,
            /* Use tooltips */
            false,
            /* Configure chart to generate URLs? */
            false);

    /* Configura a espessura da linha do grfico  */
    XYPlot plot = chart.getXYPlot();

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesStroke(0, new BasicStroke(4.0f));
    plot.setRenderer(renderer);

    /* Escreve o grfico para um arquivo indicado. */
    try {
        ChartUtilities.saveChartAsJPEG(new File(filename), chart, 500, 300);
    } catch (IOException ex) {
        Logger.getLogger(FCFS.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.itemanalysis.jmetrik.graph.nicc.NonparametricCurvePanel.java

public void savePlots(String path) throws IOException {
    File dir = new File(path);
    if (!dir.exists())
        dir.mkdirs();/*from  w w w  .j a v a 2s . c  o m*/

    //Will Save in a way that an OS will list them in selected order but omits the TCC
    //        int index=1;
    //        for(String s : names){
    //            JFreeChart c = charts.get(s);
    //            String n = "a"+index+"-"+s;
    //            ChartUtilities.saveChartAsJPEG(new File(dir.getAbsolutePath()+"/"+n+".jpg"), c, width, height);
    //            index++;
    //        }

    for (String s : charts.keySet()) {
        JFreeChart c = charts.get(s);
        ChartUtilities.saveChartAsJPEG(new File(dir.getAbsolutePath() + "/" + s + ".jpg"), c, width, height);
    }
}

From source file:it.marcoberri.mbmeteo.action.chart.GetLastUPie.java

/**
 * Processes requests for both HTTP//from  w  w  w.j ava 2  s .c om
 * <code>GET</code> and
 * <code>POST</code> methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    log.debug("start : " + this.getClass().getName());

    final HashMap<String, String> params = getParams(request.getParameterMap());
    final Integer dimy = Default.toInteger(params.get("dimy"), 600);
    final Integer dimx = Default.toInteger(params.get("dimx"), 800);

    Meteolog meteolog = ds.find(Meteolog.class).order("-time").limit(1).get();

    final DefaultPieDataset dataset = new DefaultPieDataset();

    dataset.setValue(ChartEnumMinMaxHelper.outdoorHumidityMin.getUm(), meteolog.getOutdoorHumidity());
    dataset.setValue("", 100 - meteolog.getOutdoorHumidity());

    JFreeChart chart = ChartFactory.createPieChart("Humidity %", // chart title
            dataset, // data
            true, // include legend
            true, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
    plot.setNoDataMessage("No data available");
    plot.setCircular(false);
    plot.setLabelGap(0.02);

    final File f = File.createTempFile("mbmeteo", ".jpg");
    ChartUtilities.saveChartAsJPEG(f, chart, dimx, dimy);

    response.setContentType("image/jpeg");
    response.setHeader("Content-Length", "" + f.length());
    response.setHeader("Content-Disposition", "inline; filename=\"" + f.getName() + "\"");
    final OutputStream out = response.getOutputStream();
    final FileInputStream in = new FileInputStream(f.toString());
    final int size = in.available();
    final byte[] content = new byte[size];
    in.read(content);
    out.write(content);
    in.close();
    out.close();

}

From source file:co.udea.edu.proyectointegrador.gr11.parqueaderoapp.domain.stadistics.graphics.implement.GraficaTest.java

/**
 * Test of createXYLineChartToHoursOfDay method, of class Grafica.
 *///from w  ww.j  av a  2 s.c om
@Test
public void testCreateXYLineChartToHoursOfDay() throws Exception {
    String startDate = "2014-07-04 18:14:29.000";
    String endDate = "2017-07-04 18:14:29.000";
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
    Date startD = dateFormat.parse(startDate);
    Date endD = dateFormat.parse(endDate);
    JFreeChart chart = g.createXYLineChartToHoursOfDay(controller.getEstadisticasByHoraDelDia(startD, endD));
    ChartUtilities.saveChartAsJPEG(new File("D:\\chart5.JPG"), chart, 400, 300);
}