Bonjour
je voudrai affiché un histogramme en utilisant jfreechart .mon problème c'est que je ne veut pas afficher toutes les valeurs de l'axe des X (de 0 a 255)
je veut afficher une valeur toute les 8 valeurs c a d 0 8 16 24 32 .... au lieu de 012345678910111213....255
le programme ne me permet pas d'exploiter la methode setDomainAxis() avec un NumberAxis comme paramètre .
et je change l'objet de type CategoryPlot en XYPlot le programme me donne l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jfree.chart.plot.CategoryPlot cannot be cast to org.jfree.chart.plot.XYPlot
	at org.jfree.chart.JFreeChart.getXYPlot(JFreeChart.java:853)
	at ImgHst.createHstFrame(ImgHst.java:86)

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 ChartFrame createHstFrame()
 
	 {		
 
       DefaultCategoryDataset ensHistg = new  DefaultCategoryDataset();
 
	 for (int i=0; i < imgHistogram.getNumBins(bandesCouleurs);i++)
	     {  
	     ensHistg.setValue(imgHistogram.getBinSize(bandesCouleurs,i), "Gray",  ""+ i);
	     }
		JFreeChart myChart = ChartFactory.createBarChart("Histograme", "TTTTT", "gggggg", ensHistg,PlotOrientation.VERTICAL ,false,true,true);
		CategoryPlot P =myChart.getCategoryPlot();
		NumberAxis valueScaleRange = new NumberAxis("Titre");
		valueScaleRange.setRange(0.0, maxHistValeurs  );
		P.setRangeAxis(valueScaleRange);
		NumberAxis valueScaleDomain = new  NumberAxis("Titre");
	        P.setDomainAxis(valueScaleDomain); // erreur !!!!!
 
		P.setRangeGridlinePaint(Color .black );
		ChartFrame frame =new ChartFrame("Histogram", myChart);
               frame.setVisible(true);
	       frame.setSize(450, 350);
		return frame;
 
	}
merci