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
| package com.fortuneo.jfortuneochart.graph;
import java.awt.Color;
import java.io.IOException;
import java.io.OutputStream;
import java.text.NumberFormat;
import java.util.StringTokenizer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
//import com.broadvision.util.BVLog;
public class historiqueConsensus2 extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -1316168591864396873L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(true);
String notes = (String) session.getAttribute("tabNotes");
String[][] tab;
int i = 0 ;
StringTokenizer st = new StringTokenizer(notes, ";");
tab = new String[st.countTokens()][] ;
while (st.hasMoreTokens()) {
int j = 0 ;
StringTokenizer st2 = new StringTokenizer(st.nextToken(), "/");
String[] tab2 = new String[ st2.countTokens()] ;
while (st2.hasMoreTokens()) {
tab2[j] = st2.nextToken() ;
j++ ;
}
tab[i] = tab2 ;
i++ ;
}
/*
for(int k = 0; k< tab.length; k++){
for(int l = 0; l < tab[k].length; l++){
BVLog.bvlog(1,1, tab[k][l]);
}
}
*/
JFreeChart barChart = ChartFactory.createStackedBarChart("Nombre d'analystes", "Mois",
"Nombre", createDataset(tab), PlotOrientation.VERTICAL, false, true, false);
CategoryPlot plot = barChart.getCategoryPlot();
CategoryAxis domainAxis1 = plot.getDomainAxis();
domainAxis1.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setNumberFormatOverride(NumberFormat.getIntegerInstance());
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setSeriesPaint(0, Color.gray);
// couleur du contour du graphe
plot.setOutlinePaint(Color.black);
// couleur du fond du graphe
plot.setBackgroundPaint(new Color(255, 255, 255));
//couleur du fond du dessin
barChart.setBackgroundPaint(Color.white);
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
ChartUtilities.writeChartAsPNG(out, barChart, 305, 230);
}
private static DefaultCategoryDataset createDataset(String tab[][]) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for(int i=0 ; i<tab.length; i++){
int nb = Integer.parseInt(tab[i][2]);
dataset.addValue(nb, "Nombre", tab[i][0]);
}
return dataset;
}
} |
Partager