Bonjour,

Pour notre projet de fin d'étude, j'ai besoin de faire une "cartographie lumineuse" d'une pièce et l'afficher sur l'IHM en Java (Cette cartographie lumineuse est réalisé avec 4 panneaux solaires et 2 servomoteurs). Après quelques recherches, je me suis tourné vers JFreeChart qui à l'air de correspondre à ce que j'ai envie de faire et pour le moment je m'entraîne sur la démo fourni par JFreeChart "XYBlockChartDemo1".

Voilà mon problème, je peux avoir à effectué une cartographie partiel, c'est à dire commencer à 100° et finir à 180° en gisement (Horizontal) avec un pas de 10° et de 30° à 60° en site (Vertical) avec un pas de 5°. Pour le moment j'ai mis les valeurs de Z dans un tableau voici le code :
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/**
 * A simple demonstration application showing a chart created using 
 * the {@link XYBlockRenderer}.
 * <br><br>
 * TODO: The chart needs a display showing the value scale.
 */
public class XYBlockChartDemo1 extends ApplicationFrame {
 
    /**
     * Constructs the demo application.
     *
     * @param title  the frame title.
     */
    public XYBlockChartDemo1(String title) {
        super(title);
        JPanel chartPanel = createDemoPanel();
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 470));
        setContentPane(chartPanel);
    }
 
 
    /**
     * Creates a sample chart.
     * 
     * @param dataset  the dataset.
     * 
     * @return A sample chart.
     */
    public static JFreeChart createChart(XYZDataset dataset) {
        NumberAxis xAxis = new NumberAxis("X");
        xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        xAxis.setLowerMargin(0.0);
        xAxis.setUpperMargin(0.0);
        NumberAxis yAxis = new NumberAxis("Y");
        yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        yAxis.setLowerMargin(0.0);
        yAxis.setUpperMargin(0.0);
        XYBlockRenderer renderer = new XYBlockRenderer();
        PaintScale scale = new GrayPaintScale(-2.0, 1.0);
        renderer.setPaintScale(scale);
        XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer);
        plot.setBackgroundPaint(Color.lightGray);
        plot.setDomainGridlinesVisible(false);
        plot.setRangeGridlinePaint(Color.white);
        JFreeChart chart = new JFreeChart("XYBlockChartDemo1", plot);
        chart.removeLegend();
        chart.setBackgroundPaint(Color.white);
        return chart;
    }
 
    /**
     * Creates a sample dataset.
     */
 
    static double dt[][] = {
			{0,0.1,0.2,0.3,0.4,0.5},
			{0,0.1,0.2,0.3,0.4,0.5},
			{0.9,0.8,0.7,0.6,0.5,0},
			{0.9,0.8,0.7,0.6,0.5,0},
			{0,0.1,0.2,0.3,0.4,0.5},
			{0,0.1,0.2,0.3,0.4,0.5},
			{0.9,0.8,0.7,0.6,0.5,0},
			{0.9,0.8,0.7,0.6,0.5,0}
			};
 
    private static XYZDataset createDataset() {
        return new XYZDataset() 
        {
            public int getSeriesCount() {
                return 1;
            }
            public int getItemCount(int series) {
                return 48;
            }
            public Number getX(int series, int item) {
                return new Double(getXValue(series, item));
            }
            public double getXValue(int series, int item) {
                return (item / 6) ;
            }
            public Number getY(int series, int item) {
                return new Double(getYValue(series, item));
            }
            public double getYValue(int series, int item) {
                return (item - (item / 6) * 6);
            }
            public Number getZ(int series, int item) {
                return new Double(getZValue(series, item));
            }
            public double getZValue(int series, int item) {
 
                double x = getXValue(series, item);
                double y = getYValue(series, item);
 
                return dt[(int)x][(int)y];
            }
            public void addChangeListener(DatasetChangeListener listener) {
                // ignore - this dataset never changes
            }
            public void removeChangeListener(DatasetChangeListener listener) {
                // ignore
            }
            public DatasetGroup getGroup() {
                return null;
            }
            public void setGroup(DatasetGroup group) {
                // ignore
            }
            public Comparable getSeriesKey(int series) {
                return "sin(sqrt(x + y))";
            }
            public int indexOf(Comparable seriesKey) {
                return 0;
            }
            public DomainOrder getDomainOrder() {
                return DomainOrder.ASCENDING;
            }
			@Override
			public int getXSize(int series) {
				return 100;
			}
			@Override
			public int getYSize(int series) {
				// TODO Auto-generated method stub
				return 100;
			}        
        };
    }
 
    /**
     * Creates a panel for the demo.
     *  
     * @return A panel.
     */
    public static JPanel createDemoPanel() {
        return new ChartPanel(createChart(createDataset()));
    }
 
    /**
     * Starting point for the demonstration application.
     *
     * @param args  ignored.
     */
    public static void main(String[] args) {
        XYBlockChartDemo1 demo = new XYBlockChartDemo1("Block Chart Demo");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);
    }
 
}
J'obtiens après exécution un graphique avec les bonnes valeurs mais les axes sont faux, et je ne sais pas comment faire pour les régler.
Pouvez-vous m'aidez ?

Merci d'avance,
Ixigrec59