List of usage examples for org.jfree.chart ChartUtilities writeChartAsPNG
public static void writeChartAsPNG(OutputStream out, JFreeChart chart, int width, int height) throws IOException
From source file:com.hazelcast.monitor.server.InstanceChartGenerator.java
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { String name = req.getParameter("name"); String type = req.getParameter("type"); SessionObject sessionObject = getSessionObject(req.getSession()); List<? super InstanceStatistics> list = getPastStatistics(name, sessionObject); if (list == null) { return;/* www. ja v a 2 s. c om*/ } JFreeChart chart; if ("size".equals(type)) { chart = generateSizeChart(list); } else { chart = generateOperationStatsChart(list); } try { OutputStream out = response.getOutputStream(); response.setContentType("image/png"); ChartUtilities.writeChartAsPNG(out, chart, 390, 250); } catch (IOException ignore) { } }
From source file:org.openmrs.module.vcttrac.web.view.chart.AbstractChartView.java
/** * @see org.springframework.web.servlet.view.AbstractView *///from w ww. j a va 2 s .co m @Override @SuppressWarnings("unchecked") protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { // Respond as a PNG image response.setContentType("image/png"); // Disable caching response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); int width = (request.getParameter("width") != null && request.getParameter("width").compareTo("") != 0) ? (Integer.valueOf(request.getParameter("width"))) : 450; int height = (request.getParameter("height") != null && request.getParameter("height").compareTo("") != 0) ? (Integer.valueOf(request.getParameter("height"))) : 350; JFreeChart chart = createChart(model, request); chart.setBackgroundPaint(Color.WHITE); chart.getPlot().setOutlineStroke(new BasicStroke(0)); chart.getPlot().setOutlinePaint(getBackgroundColor()); chart.getPlot().setBackgroundPaint(getBackgroundColor()); chart.getPlot().setNoDataMessage(VCTTracUtil.getMessage("vcttrac.error.noDataAvailable", null)); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, width, height); }
From source file:org.openmrs.web.servlet.AbstractGraphServlet.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {/*from ww w. j a v a 2 s . c o m*/ // Set default values Integer width = Integer.valueOf(500); Integer height = Integer.valueOf(300); String mimeType = PNG_MIME_TYPE; // Retrieve custom values try { width = Integer.parseInt(request.getParameter("width")); } catch (Exception e) { log.error("Error during width parseInt", e); } try { height = Integer.parseInt(request.getParameter("height")); } catch (Exception e) { log.error("Error during height parseInt", e); } if (request.getParameter("mimeType") != null) { mimeType = request.getParameter("mimeType"); } JFreeChart chart = createChart(request, response); // Modify response to disable caching response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); // Write chart out to response as image try { if (JPG_MIME_TYPE.equalsIgnoreCase(mimeType)) { response.setContentType(JPG_MIME_TYPE); ChartUtilities.writeChartAsJPEG(response.getOutputStream(), chart, width, height); } else if (PNG_MIME_TYPE.equalsIgnoreCase(mimeType)) { response.setContentType(PNG_MIME_TYPE); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, width, height); } else { // Throw exception: unsupported mime type } } catch (IOException e) { log.error(e); } } // Add error handling above and remove this try/catch catch (Exception e) { log.error(e); } }
From source file:BaselinePlotGenerator.java
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream out = response.getOutputStream(); NssBaseline nssBaseline = new NssBaseline(); String filename = ""; try {/* w ww . j a v a2 s . co m*/ filename = request.getParameter("filename"); nssBaseline.openFile(filename); nssBaseline.readAllData(); JFreeChart chart = null; chart = createChart(filename, nssBaseline); if (chart != null) { response.setContentType("image/png"); ChartUtilities.writeChartAsPNG(out, chart, 660, 400); } } catch (Exception e) { System.err.println("BaselinePlotGenerator: " + e + " for file: " + filename); } finally { out.close(); nssBaseline.closeFile(); } }
From source file:org.openmrs.module.usagestatistics.web.view.chart.AbstractChartView.java
/** * @see org.springframework.web.servlet.view.AbstractView *//*ww w . j a v a2s. c o m*/ @Override @SuppressWarnings("unchecked") protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { // Respond as a PNG image response.setContentType("image/png"); // Disable caching response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); int width = ServletRequestUtils.getIntParameter(request, "width", 500); int height = ServletRequestUtils.getIntParameter(request, "height", 300); from = (Date) model.get("from"); until = (Date) model.get("until"); untilInclusive = (Date) model.get("untilInclusive"); usageFilter = (ActionCriteria) model.get("usageFilter"); location = (Location) model.get("location"); JFreeChart chart = createChart(model, request); chart.setBackgroundPaint(Color.WHITE); chart.getPlot().setOutlineStroke(new BasicStroke(0)); chart.getPlot().setOutlinePaint(getBackgroundColor()); chart.getPlot().setBackgroundPaint(getBackgroundColor()); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, width, height); }
From source file:presentation.webgui.vitroappservlet.VisualStyles.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); this.uStyleId = request.getParameter("suid"); Model3dStylesList myStylesIndex = Model3dStylesList.getModel3dStylesList(); Model3dStylesEntry currStyleEntry = myStylesIndex.getStyleWithId(this.uStyleId); if (currStyleEntry != null) { response.setContentType("image/png"); OutputStream out = response.getOutputStream(); try {/*from ww w . ja v a 2 s . c o m*/ JFreeChart chart = StyleCreator.createDatasetAndChart(currStyleEntry); int chartHeight = 40; if (chart.getCategoryPlot().getDataset().getColumnKeys().size() > 1) { chartHeight = chart.getCategoryPlot().getDataset().getColumnKeys().size() * 22; } ChartUtilities.writeChartAsPNG(out, chart, 300, chartHeight); } catch (Exception e) { System.err.println(e.toString()); response.setContentType("text/html"); PrintWriter outPrintWriter = response.getWriter(); outPrintWriter.print("<b>Error</b>:" + e.toString()); outPrintWriter.flush(); outPrintWriter.close(); } finally { out.close(); } return; } else { response.setContentType("text/html"); PrintWriter outPrintWriter = response.getWriter(); outPrintWriter.print("<b>No style defined</b>"); outPrintWriter.flush(); outPrintWriter.close(); } }
From source file:fr.ensimag.biblio.controllers.StatImg.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request// www.j a v a 2s .c om * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream out = response.getOutputStream(); response.setContentType("image/png"); //int val1 = 40; //int val2 = 60; try { DefaultPieDataset dataset = new DefaultPieDataset(); String title = "Statistiques"; boolean legend = true; Map<String, String[]> params = request.getParameterMap(); for (Map.Entry<String, String[]> param : params.entrySet()) { String key = param.getKey(); String[] value = param.getValue(); System.out.println("key : " + key + "value : " + value[0]); if (key.equals("legend")) legend = Boolean.parseBoolean(value[0]); else dataset.setValue(key, Double.parseDouble(value[0])); } //dataset.setValue("Valeur 1", val1); //dataset.setValue("Valeur 2", val2); JFreeChart chart = ChartFactory.createPieChart(title, dataset, legend, false, false); chart.setBackgroundPaint(Color.WHITE); ChartUtilities.writeChartAsPNG(out, chart, 500, 300); } finally { out.close(); } }
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 a2 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:org.gbif.portal.web.util.ChartUtils.java
/** * Writes out the image using the supplied file name. * /*w w w . ja v a 2 s . c o m*/ * @param legend * @param fileName * @return */ public static String writePieChartImageToTempFile(Map<String, Double> legend, String fileName) { String filePath = System.getProperty(tmpDirSystemProperty) + File.separator + fileName + defaultExtension; File fileToCheck = new File(filePath); if (fileToCheck.exists()) { return fileName + defaultExtension; } final DefaultPieDataset data = new DefaultPieDataset(); Set<String> keys = legend.keySet(); for (String key : keys) { logger.info("Adding key : " + key); data.setValue(key, legend.get(key)); } // create a pie chart... final boolean withLegend = true; final JFreeChart chart = ChartFactory.createPieChart(null, data, withLegend, false, false); PiePlot piePlot = (PiePlot) chart.getPlot(); piePlot.setLabelFont(new Font("Arial", Font.PLAIN, 10)); piePlot.setLabelBackgroundPaint(Color.WHITE); LegendTitle lt = chart.getLegend(); lt.setBackgroundPaint(Color.WHITE); lt.setWidth(300); lt.setBorder(0, 0, 0, 0); lt.setItemFont(new Font("Arial", Font.PLAIN, 11)); chart.setPadding(new RectangleInsets(0, 0, 0, 0)); chart.setBorderVisible(false); chart.setBackgroundImageAlpha(0); chart.setBackgroundPaint(Color.WHITE); chart.setBorderPaint(Color.LIGHT_GRAY); final BufferedImage image = new BufferedImage(300, 250, BufferedImage.TYPE_INT_RGB); KeypointPNGEncoderAdapter adapter = new KeypointPNGEncoderAdapter(); adapter.setQuality(1); try { adapter.encode(image); } catch (IOException e) { logger.error(e.getMessage(), e); } final Graphics2D g2 = image.createGraphics(); g2.setFont(new Font("Arial", Font.PLAIN, 11)); final Rectangle2D chartArea = new Rectangle2D.Double(0, 0, 300, 250); // draw chart.draw(g2, chartArea, null, null); try { FileOutputStream fOut = new FileOutputStream(fileToCheck); ChartUtilities.writeChartAsPNG(fOut, chart, 300, 250); return fileToCheck.getName(); } catch (IOException e) { logger.error(e.getMessage(), e); return null; } }
From source file:org.openmrs.module.usagestatistics668.web.view.chart.AbstractChartView.java
/** * @see org.springframework.web.servlet.view.AbstractView *//* ww w. j a v a 2 s .c om*/ @Override @SuppressWarnings("unchecked") protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { // Respond as a PNG image response.setContentType("image/png"); // Disable caching response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); int width = ServletRequestUtils.getIntParameter(request, "width", 500); int height = ServletRequestUtils.getIntParameter(request, "height", 300); from = (Date) model.get("from"); System.out.println(from); maxResults = (Integer) model.get("maxResults"); until = (Date) model.get("until"); untilInclusive = (Date) model.get("untilInclusive"); usageFilter = (ActionCriteria) model.get("usageFilter"); JFreeChart chart = createChart(model, request); chart.setBackgroundPaint(Color.WHITE); chart.getPlot().setOutlineStroke(new BasicStroke(0)); chart.getPlot().setOutlinePaint(getBackgroundColor()); chart.getPlot().setBackgroundPaint(getBackgroundColor()); ChartUtilities.writeChartAsPNG(response.getOutputStream(), chart, width, height); }