bonjour,
j'ai besoin de creer un histogramme de type bar chart avec la particularité d'avoir plusieurs barres pour une meme serie et une meme categorie
les données :
generateur du graphique :
Ma data set :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public void BackingBean1() { try { final CategoryDataset dataset = createDataset1(); final JFreeChart jFreeChart = ChartFactory.createBarChart( "",// chart title "Testername", // domain axis label "Overdrive (micro m)", // range axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips? false // URL generator? Not required... ); File chartFile = new File("dynamichart"); ChartUtilities.saveChartAsPNG(chartFile,jFreeChart,1200, 500); chart1 = new DefaultStreamedContent(new FileInputStream(chartFile), "image/png"); } catch (Exception e) { log.fatal(e); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 private CategoryDataset createDataset1() { // row keys... final String series1 = "serie1"; final String series2 = "serie2"; // column keys... final String category1 = "Categorie 1"; final String category2 = "Categorie 2"; // create the dataset... final DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(1.0, series1, category1); dataset.addValue(2.0, series1, category1); dataset.addValue(2.0, series2, category1); dataset.addValue(2.0, series2, category1); dataset.addValue(1.0, series1, category2); dataset.addValue(1.0, series1, category2); dataset.addValue(1.0, series2, category2); dataset.addValue(2.0, series2, category2); return dataset; }
et voici le résultat attendu
voici le résultat que j'obtiens ( mauvais )
en fait avec l'exemple que j'ai utilisé mon graphique affiche uniquement la dernière valeur pour une série et une catégorie .
ce qui est logique vu que dataset.addValue(valeur, seriekey, categorykey);
comment puis-je obtenir le résultat attendu ?
Partager