1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
public class GrapheAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
XYDataset dataset = this.createDataset() ;
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("titre", "abscisse", "ordonnee", dataset, true, true, false);
jfreechart.setBackgroundPaint(Color.white);
XYPlot xyplot = jfreechart.getXYPlot();
DateAxis dateaxis = (DateAxis)xyplot.getDomainAxis();
dateaxis.setTickUnit(new DateTickUnit(1, 1, new SimpleDateFormat("MMM-yyyy")));
dateaxis.setVerticalTickLabels(true);
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer)xyplot.getRenderer();
renderer.setBaseShapesVisible(true);
renderer.setSeriesFillPaint(0, Color.red);
renderer.setUseFillPaint(true);
renderer.setToolTipGenerator(new StandardXYToolTipGenerator("{0} {1} {2}",new SimpleDateFormat("MMM-yyyy"),NumberFormat.getInstance()));
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
int largeur = 900 ;
int hauteur = 600 ;
String filename = ServletUtilities.saveChartAsJPEG(jfreechart, largeur, hauteur, info, request.getSession());
Graphe graphe = this.initImage(request, info, filename);
request.setAttribute("graphe",graphe) ;
return mapping.findForward("success");
}
private Graphe initImage(HttpServletRequest request,ChartRenderingInfo info, String filename)
{
String sMap = ChartUtilities.getImageMap(filename,info);
String src = request.getContextPath()+"/servlet/DisplayChart?filename=" + filename ;
String useMap = "#" + filename ;
Graphe graphe = new Graphe() ;
graphe.setMap(sMap);
graphe.setSrc(src) ;
graphe.setUseMap(useMap) ;
return graphe ;
}
private XYDataset createDataset()
{
TimeSeries series = new TimeSeries("Series 1", Month.class);
series.add(new Month(1, 2006), 805);
series.add(new Month(2, 2006), 883);
series.add(new Month(3, 2006), 664);
series.add(new Month(4, 2006), 813);
series.add(new Month(5, 2006), 732);
series.add(new Month(6, 2006), 805);
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(series);
return dataset ;
}
} |
Partager