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
|
// Creation d'un nouveau graph
CategoryPlot plot = new CategoryPlot();
// Ajout du graph en forme d'histogramme
plot.setDataset(datasetTravail);
plot.setRangeAxis(new NumberAxis("xxx"));
// Apparence en degrade violet + valeur affiche au centre dans la barre
BarRenderer barrenderer = new BarRenderer();
barrenderer.setSeriesPaint(0, new GradientPaint(0.0F, 0.0F, new Color(239, 239, 250), 0.0F, 0.0F, new Color(31, 31, 99)));
barrenderer.setBaseItemLabelsVisible(true);
barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
barrenderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
plot.setRenderer(barrenderer);
// Ajout du graph en forme de points pour les RA
plot.setRangeAxis(1, new NumberAxis("yyy"));
plot.setDataset(1, datasetRA);
// Pour le rendu des points, on veut afficher la valeur au dessus des points
LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
lineandshaperenderer.setBaseItemLabelsVisible(true);
lineandshaperenderer.setBaseItemLabelPaint(Color.red);
lineandshaperenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
lineandshaperenderer.setSeriesPaint(0, Color.red);
lineandshaperenderer.setLinesVisible(false);
plot.setRenderer(1, lineandshaperenderer);
plot.mapDatasetToRangeAxis(1, 1);
// Titre des ordonnees
plot.setDomainAxis(new CategoryAxis("Titre"));
// On definit que les points sont affiches sur l'histogramme (et pas derriere...)
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
// Affichage des points et des barres a la verticale
plot.setOrientation(PlotOrientation.VERTICAL);
// Affichage de la grille verticale
plot.setRangeGridlinesVisible(false);
// Affichage de la grille horizontale
plot.setDomainGridlinesVisible(false);
// Creaion du graphique avec les points
JFreeChart chart = new JFreeChart(titreGraphique, JFreeChart.DEFAULT_TITLE_FONT, plot, false);
// Fond de l'image => blanc
chart.setBackgroundPaint(Color.white);
// Ajout de la legende
chart.addLegend(new LegendTitle(plot));
// Enregistrer l'image
p_request.getSession().setAttribute(Constantes.IMG_HISTO, chart.createBufferedImage(800, 400)); |
Partager