J'ai là un bout de code que j'ai écrit (pour vous situer le problème) pour me faire un plot 2D. Même si je trouve ça un peu bourin (lourd) j'ai réussi à changer en abscisse le format de mes nombres décimaux (13.25 au lieu de 13,25) mais je n'arrive pas à voir comment faire l'équivalent avec le crosshair puisque lorsque je passe la souris sur un point de mon plot j'ai toujours l'affichage "à la française" avec la virgule comme séparateur alors que je voudrais là aussi un point.
Donc si vous avez des solutions je suis preneur !
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
30
31
32
33
34
35 public JFreeChart generateGraph2D(ArrayList<Double> arrayValParamX, ArrayList<Double> arrayValParamY, String titreGraphe, String parameterName0, String parameterName1) { XYSeries series = new XYSeries("Test data"); for(int i=0; i<arrayValParamX.size(); i++){ series.add(arrayValParamX.get(i), arrayValParamY.get(i)); } XYSeriesCollection data = new XYSeriesCollection(); data.addSeries(series); JFreeChart chart = ChartFactory.createScatterPlot (titreGraphe, // Title parameterName0, // X-Axis label parameterName1, // Y-Axis label data, // Dataset PlotOrientation.VERTICAL, true, // legend true, // tooltips false // url .. ? ); plot = chart.getXYPlot(); ValueAxis rangeAxis = plot.getRangeAxis(); NumberAxis naR = (NumberAxis) rangeAxis; try { DecimalFormat df = new DecimalFormat(); naR.setNumberFormatOverride(df); DecimalFormatSymbols dfs = df.getDecimalFormatSymbols(); dfs.setDecimalSeparator('.'); df.setDecimalFormatSymbols(dfs); } catch (IllegalArgumentException iae) { System.out.println("Invalid decimal format"); System.out.println(iae.getMessage()); iae.printStackTrace(); } }
Si aussi vous voyez comment je pourrais ne pas avoir à préciser à chaque fois mon format de décimal, en le déclarant de façon plus global par exemple, je suis aussi preneur !
Thanks.
Partager