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
| private JFreeChart createStackedChart(String title, String abscisse,
String ordonnee, TableXYDataset dataset) {
NumberAxis domainAxis = new NumberAxis(abscisse);
// domainAxis.setLowerMargin(0.01D);
// domainAxis.setUpperMargin(0.01D);
domainAxis.setLabelPaint(labelsColor);
domainAxis.setAutoRangeIncludesZero(false);
// domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
NumberAxis rangeAxis = new NumberAxis(ordonnee);
rangeAxis.setLabelPaint(labelsColor);
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setUpperMargin(0.15000000000000001D);
StackedXYBarRenderer renderer = new StackedXYBarRenderer(0.15D);
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());
// Afficher les populations
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER));
renderer.setShadowVisible(false);
renderer.setDrawBarOutline(true);
XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
JFreeChart chart = new JFreeChart(title, plot);
chart.setBackgroundPaint(borderBackgroundColor);
/* Définition du titre avec la font voulue et la couleur */
TextTitle textTitle = new TextTitle(title, titleFont);
chart.setTitle(textTitle);
textTitle.setPaint(labelsColor);
textTitle.setHorizontalAlignment(HorizontalAlignment.CENTER);
LegendTitle lt = chart.getLegend();
lt.setMargin(1, 1, 1, 1);
lt.setHorizontalAlignment(HorizontalAlignment.CENTER);
lt.setVerticalAlignment(VerticalAlignment.CENTER);
lt.setWidth(100);
lt.setItemFont(legendFont);
lt.setItemPaint(labelsColor);
chart.setAntiAlias(true);
return chart;
} |
Partager