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
| package graphique;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.renderer.xy.XYSplineRenderer;
import org.jfree.data.xy.*;
import org.jfree.ui.*;
/**
*
* @author Jérémy
*/
public class CategorySplineRenderer extends ApplicationFrame
{
static class Panel extends JPanel
{
private XYDataset data1;
private XYDataset createSampleData()
{
// crée la premier serie et la renomme
XYSeries xyseries = new XYSeries("Series 1");
// attribut les valeurs à la 1° courbe
// (position d'un point sur l'axe des X , position du point sur l'axe des Y)
// (Mois, CA)
xyseries.add(1D, 562703D);
xyseries.add(2D, 410032D);
xyseries.add(3D, 314499D);
xyseries.add(4D, 300000D);
xyseries.add(5D, 240000D);
xyseries.add(6D, 190000.99D);
xyseries.add(7D, 209400D);
xyseries.add(8D, 167300D);
xyseries.add(9D, 140221D);
xyseries.add(10D, 120044D);
xyseries.add(11D, 220044D);
xyseries.add(12D, 420044D);
// crée la seconde serie et la renomme
XYSeriesCollection xyseriescollection = new XYSeriesCollection(xyseries);
// attribut les valeurs à la 2° courbe
// (position d'un point sur l'axe des X , position du point sur l'axe des Y)
// (Mois, CA)
XYSeries xyseries1 = new XYSeries("Series 2");
xyseries1.add(1D, 100000D);
xyseries1.add(2D, 127000D);
xyseries1.add(3D, 800000D);
xyseries1.add(4D, 300500D);
xyseries1.add(5D, 246900D);
xyseries1.add(6D, 197800D);
xyseries1.add(7D, 209401D);
xyseries1.add(8D, 167300D);
xyseries1.add(9D, 142100D);
xyseries1.add(10D, 124400D);
xyseries1.add(11D, 442100D);
xyseries1.add(12D, 624400D);
xyseriescollection.addSeries(xyseries1);
// crée la troisème serie et la renomme
XYSeries xyseries2 = new XYSeries("Series 3");
// attribut les valeurs à la 3° courbe
// (position d'un point sur l'axe des X , position du point sur l'axe des Y)
xyseries2.add(1D, 362700D);
xyseries2.add(2D, 410032D);
xyseries2.add(3D, 314499D);
xyseries2.add(4D, 30050D);
xyseries2.add(5D, 246900D);
xyseries2.add(6D, 197800D);
xyseries2.add(7D, 209400D);
xyseries2.add(8D, 160073D);
xyseries2.add(9D, 140001D);
xyseries2.add(10D, 124400D);
xyseries2.add(11D, 540001D);
xyseries2.add(12D, 224400D);
xyseriescollection.addSeries(xyseries2);
//retourne les courbes dans le panel (la couleur et la forme des points est aléatoire)
return xyseriescollection;
}
//Crée la zone de travail
private JTabbedPane createContent()
{
JTabbedPane jtabbedpane = new JTabbedPane();
jtabbedpane.add("Graph", createChartPanel());
return jtabbedpane;
}
private ChartPanel createChartPanel()
{
NumberAxis numberaxis = new NumberAxis("Mois");
numberaxis.setAutoRangeIncludesZero(false);
NumberAxis numberaxis1 = new NumberAxis("Chiffre d'affaire");
numberaxis1.setAutoRangeIncludesZero(false);
XYSplineRenderer xysplinerenderer = new XYSplineRenderer();
XYPlot xyplot = new XYPlot(data1, numberaxis, numberaxis1, xysplinerenderer);
xyplot.setBackgroundPaint(Color.lightGray); //permet de choisir la couleur de fond du cadrillage
xyplot.setDomainGridlinePaint(Color.white); //permet de choisir la couleur du cadrillage
xyplot.setRangeGridlinePaint(Color.white); //permet de choisir la couleur du cadrillage
xyplot.setAxisOffset(new RectangleInsets(4D, 4D, 4D, 4D));
JFreeChart jfreechart = new JFreeChart("Graphique", JFreeChart.DEFAULT_TITLE_FONT, xyplot, true); // permet de nommer le nom du graphique
jfreechart.setBackgroundPaint(Color.white); // permet de choisir la couleur de fond de fenêtre
ChartPanel chartpanel = new ChartPanel(jfreechart, false);
return chartpanel;
}
// initialise la zone de travail
public Panel()
{
super(new BorderLayout());
data1 = createSampleData();
add(createContent());
}
}
public CategorySplineRenderer(String s)
{
super(s);
JPanel jpanel = createPanel();
getContentPane().add(jpanel);
}
public static JPanel createPanel()
{
return new Panel();
}
public static void main(String args[])
{
CategorySplineRenderer CategorySplineRenderer = new CategorySplineRenderer("Graphique");
CategorySplineRenderer.pack();
RefineryUtilities.centerFrameOnScreen(CategorySplineRenderer);
CategorySplineRenderer.setVisible(true);
}
} |
Partager