List of usage examples for org.jfree.chart ChartUtilities saveChartAsJPEG
public static void saveChartAsJPEG(File file, JFreeChart chart, int width, int height) throws IOException
From source file:dla_franctal.LineChart.java
public LineChart(final String title, Map<Integer, Integer> snowMap, Map<Integer, Integer> randMap, Map<Integer, Integer> balisticMap, Map<Integer, Integer> spiralMap) { super(title); final XYDataset dataset = createSimulationGraphs(snowMap, randMap, balisticMap, spiralMap); final JFreeChart chart = createChart(dataset, "Particles", "Iterations"); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(650, 350)); setContentPane(chartPanel);/*from ww w . j ava2 s .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:it.marcoberri.mbmeteo.action.chart.GetLastRDial.java
/** * Processes requests for both HTTP//from w w w. j a va2s. 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(); DefaultValueDataset dataset = new DefaultValueDataset(meteolog.getDayRainfall()); // get data for diagrams DialPlot plot = new DialPlot(); plot.setView(0.0, 0.0, 1.0, 1.0); plot.setDataset(0, dataset); GradientPaint gp = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(), new Color(170, 170, 220)); DialBackground db = new DialBackground(gp); db.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL)); plot.setBackground(db); StandardDialScale scale = new StandardDialScale(); scale.setLowerBound(0); scale.setUpperBound(50); scale.setTickLabelOffset(0.14); scale.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10)); plot.addScale(0, scale); DialPointer needle = new DialPointer.Pointer(0); plot.addLayer(needle); JFreeChart chart1 = new JFreeChart(plot); chart1.setTitle("Daily Rain mm"); final File f = File.createTempFile("mbmeteo", ".jpg"); ChartUtilities.saveChartAsJPEG(f, chart1, 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:org.apache.phoenix.pherf.result.impl.ImageResultHandler.java
@Override public synchronized void write(Result result) throws Exception { TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(); int rowCount = 0; int maxLegendCount = 20; int chartDimension = 1100; ResultValue<DataModelResult> resultValue = result.getResultValues().get(0); DataModelResult dataModelResult = resultValue.getResultValue(); for (ScenarioResult scenarioResult : dataModelResult.getScenarioResult()) { for (QuerySetResult querySetResult : scenarioResult.getQuerySetResult()) { for (QueryResult queryResult : querySetResult.getQueryResults()) { for (ThreadTime tt : queryResult.getThreadTimes()) { TimeSeries timeSeries = new TimeSeries( queryResult.getStatement() + " :: " + tt.getThreadName()); rowCount++;// w ww .jav a 2 s .com synchronized (tt.getRunTimesInMs()) { for (RunTime rt : tt.getRunTimesInMs()) { if (rt.getStartTime() != null) { timeSeries.add(new Millisecond(rt.getStartTime()), rt.getElapsedDurationInMs()); } } } timeSeriesCollection.addSeries(timeSeries); } } } } boolean legend = rowCount > maxLegendCount ? false : true; JFreeChart chart = ChartFactory.createTimeSeriesChart(dataModelResult.getName(), "Time", "Query Time (ms)", timeSeriesCollection, legend, true, false); StandardXYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); chart.getXYPlot().setRenderer(renderer); chart.getXYPlot().setBackgroundPaint(Color.WHITE); chart.getXYPlot().setRangeGridlinePaint(Color.BLACK); for (int i = 0; i < rowCount; i++) { chart.getXYPlot().getRenderer().setSeriesStroke(i, new BasicStroke(3f)); } try { ChartUtilities.saveChartAsJPEG(new File(resultFileName), chart, chartDimension, chartDimension); } catch (IOException e) { e.printStackTrace(); } }
From source file:it.marcoberri.mbmeteo.action.chart.GetLastTDial.java
/** * Processes requests for both HTTP//from ww w .j a v a 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(); DefaultValueDataset dataset = new DefaultValueDataset(meteolog.getOutdoorTemperature()); // get data for diagrams DialPlot plot = new DialPlot(); plot.setView(0.0, 0.0, 1.0, 1.0); plot.setDataset(0, dataset); GradientPaint gp = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(), new Color(170, 170, 220)); DialBackground db = new DialBackground(gp); db.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL)); plot.setBackground(db); StandardDialScale scale = new StandardDialScale(); scale.setLowerBound(-20); scale.setUpperBound(40); scale.setTickLabelOffset(0.14); scale.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10)); plot.addScale(0, scale); DialPointer needle = new DialPointer.Pointer(0); plot.addLayer(needle); JFreeChart chart1 = new JFreeChart(plot); chart1.setTitle("Temperature C"); final File f = File.createTempFile("mbmeteo", ".jpg"); ChartUtilities.saveChartAsJPEG(f, chart1, 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:edu.umn.natsrl.evaluation.ContourPlotter.java
public void saveImage(boolean viewImage, String f_name) { if (!createContourPlot()) { return;/* w ww. ja va 2 s. c o m*/ } try { File img = new File(f_name); ChartUtilities.saveChartAsJPEG(img, chart, 1000, 800); try { if (viewImage) { // Desktop.getDesktop().open(img); } } catch (Exception e) { } } catch (Exception e) { e.printStackTrace(); } }
From source file:it.marcoberri.mbmeteo.action.chart.GetLastUDial.java
/** * Processes requests for both HTTP//from www . j a va 2 s. c o m * <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(); DefaultValueDataset dataset = new DefaultValueDataset(meteolog.getOutdoorHumidity()); // get data for diagrams DialPlot plot = new DialPlot(); plot.setInsets(RectangleInsets.ZERO_INSETS); //plot.setView(0.1, 0.1, 0.9, 0.9); // plot.set plot.setDataset(0, dataset); GradientPaint gp = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(), new Color(170, 170, 220)); DialBackground db = new DialBackground(gp); db.setGradientPaintTransformer( new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL)); plot.setBackground(db); StandardDialScale scale = new StandardDialScale(); scale.setLowerBound(0); scale.setUpperBound(100); scale.setTickLabelOffset(0.14); scale.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10)); plot.addScale(0, scale); plot.setInsets(RectangleInsets.ZERO_INSETS); DialPointer needle = new DialPointer.Pointer(0); plot.addLayer(needle); JFreeChart chart1 = new JFreeChart(plot); chart1.setTitle("Humidity %"); final File f = File.createTempFile("mbmeteo", ".jpg"); ChartUtilities.saveChartAsJPEG(f, chart1, 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:edu.indiana.htrc.visual.HTRCSeriesChartDrawer.java
@Override public File draw() { Set<String> key_set = input_map.keySet(); Iterator<String> iter = key_set.iterator(); TimeSeries accessSeries = new TimeSeries(dataset_label, Day.class); while (iter.hasNext()) { String dateStr = iter.next(); // yyyy-MM-dd int value = input_map.get(dateStr); Date date = null;/*from w w w . j a v a 2 s . com*/ try { date = format.parse(dateStr); System.out.println(date); cal.setTime(date); accessSeries.add( new Day(cal.get(Calendar.DATE), cal.get(Calendar.MONTH) + 1, cal.get(Calendar.YEAR)), value); } catch (ParseException e) { e.printStackTrace(); } } TimeSeriesCollection series_dataset = new TimeSeriesCollection(); series_dataset.addSeries(accessSeries); JFreeChart series_chart = ChartFactory.createTimeSeriesChart(chart_name, x_axis_label, y_axis_label, series_dataset, true, true, false); File img = new File("../webapps/HTRC-UI-AuditAnalyzer/images/" + System.currentTimeMillis() + ".jpg"); try { ChartUtilities.saveChartAsJPEG(img, series_chart, 1400, 600); } catch (IOException e) { e.printStackTrace(); } return img; }
From source file:lk.ac.mrt.projectx.buildex.complex.FormalVerifier.java
/** * Creates a new fast scatter plot demo. * * @param title the frame title./*from w w w .j ava 2 s . c o m*/ */ public FormalVerifier(final String title, final String lblx, final String lbly) throws IOException { super(title); populateData(); final NumberAxis domainAxis = new NumberAxis(lblx); domainAxis.setAutoRangeIncludesZero(false); final NumberAxis rangeAxis = new NumberAxis(lbly); rangeAxis.setAutoRangeIncludesZero(false); final FastScatterPlot plot = new FastScatterPlot(this.data, domainAxis, rangeAxis); final JFreeChart chart = new JFreeChart(title, plot); // chart.setLegend(null); // force aliasing of the rendered content.. chart.getRenderingHints().put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); final ChartPanel panel = new ChartPanel(chart, true); panel.setPreferredSize(new java.awt.Dimension(800, 600)); // panel.setHorizontalZoom(true); // panel.setVerticalZoom(true); panel.setMinimumDrawHeight(10); panel.setMaximumDrawHeight(3000); panel.setMinimumDrawWidth(20); panel.setMaximumDrawWidth(3000); setContentPane(panel); //TODO : Print ChartUtilities.saveChartAsJPEG( new File("F:\\FYP2\\FinalP\\graphs\\Twirl" + System.currentTimeMillis() + ".jpg"), chart, 800, 600); }
From source file:graficos.GenerarGraficoPromociones.java
public void crear() throws ParseException { DefaultPieDataset pieDataset = new DefaultPieDataset(); ArrayList<String> reservaciones = new ArrayList(); try {//from w w w.j a v a2 s .c om Dba db = new Dba(pathdb); db.conectar(); String sql = "select FechaReservacion from Reservacion join Habitacion on Reservacion.IdHabitacion=Habitacion.IdHabitacion " + " where Habitacion.IdCategoria=" + idcategoria; db.prepare(sql); db.query.execute(); ResultSet rs = db.query.getResultSet(); while (rs.next()) { reservaciones.add(rs.getString(1)); } db.desconectar(); } catch (Exception e) { } ArrayList<String> promociones = new ArrayList(); try { Dba db = new Dba(pathdb); db.conectar(); String sql = "select Tipo, FechaInicio, FechaFin,Porcentaje from CategoriaDescuentoPromocion where IdCategoria=" + idcategoria; db.prepare(sql); db.query.execute(); ResultSet rs = db.query.getResultSet(); while (rs.next()) { promociones.add( rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3) + "," + rs.getString(4)); } db.desconectar(); } catch (Exception e) { } int[] count = new int[promociones.size() + 1]; for (int i = 0; i < reservaciones.size(); i++) { int si = 0; for (int j = 0; j < promociones.size(); j++) { String[] partes = promociones.get(j).split(","); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date fechain = format.parse(partes[1]); Date fechafi = format.parse(partes[2]); Date fechare = format.parse(reservaciones.get(i)); if (fechare.compareTo(fechain) >= 0 && fechare.compareTo(fechafi) <= 0) { si++; count[j]++; } } if (si == 0) { count[promociones.size()]++; } } for (int j = 0; j < count.length; j++) { if (j == promociones.size()) { pieDataset.setValue("Precio Normal", new Integer(count[j])); } else { String[] partes = promociones.get(j).split(","); pieDataset.setValue("desc: " + partes[3] + "%", new Integer(count[j])); } } JFreeChart chart = ChartFactory.createPieChart( "Porcentaje de Reservaciones Precio Normal vs Promociones y Descuentos", pieDataset, true, true, false); PiePlot plot = (PiePlot) chart.getPlot(); PieSectionLabelGenerator gen = new StandardPieSectionLabelGenerator("{0}: {1} ({2})", new DecimalFormat("0"), new DecimalFormat("0%")); plot.setLabelGenerator(gen); try { ChartUtilities.saveChartAsJPEG(new File(path), chart, 500, 300); } catch (Exception ee) { System.err.println(ee.toString()); System.err.println("Problem occurred creating chart."); } }
From source file:com.ev.export.AnnualPDFExporter.java
private void addDiagram() throws Exception { if (chart != null) { File imgFile = new File(System.currentTimeMillis() + JPEG_SUFFIX); ChartUtilities.saveChartAsJPEG(imgFile, chart, 500, 300); Element elem = Image.getInstance(imgFile.getCanonicalPath()); document.add(elem);//from w w w. j av a2s . co m imgFile.delete(); } else { throw new ExporterException("Could not find diagram."); } }