Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1906 → Rev 1907

/branches/grupo6/impl/src/java/pt/estgp/estgweb/services/courses/coursereport/documentmodel/learningresults/components/GlobalLearningResultsChartYearImg.java
1,27 → 1,27
package pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components;
 
import com.orsoncharts.legend.StandardLegendBuilder;
import jomm.utils.BytesUtils;
import jomm.utils.MimeTypeGuesser;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.chart.renderer.category.GroupedStackedBarRenderer;
import org.jfree.data.KeyToGroupMap;
import org.jfree.data.category.CategoryRangeInfo;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.RingPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.chart.renderer.category.StandardBarPainter;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.GradientPaintTransformType;
import org.jfree.ui.RectangleInsets;
import org.jfree.ui.StandardGradientPaintTransformer;
import org.jfree.ui.TextAnchor;
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.utils.documentBuilder.AutoImageWraperComponent;
import pt.estgp.estgweb.utils.documentBuilder.ImageComponent;
import pt.estgp.estgweb.web.controllers.utils.FileUploaded;
 
30,6 → 30,8
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
 
/**
58,6 → 60,20
data.addValue(new Double((int)(temp.getAprovados1720Percent()*100)/100),"Aprovados 17-20",""+temp.ano + "º Ano");
}
 
for(UnitsLearningResultYear temp: unitsLearningResultYearList) {
data.addValue(new Double((int)(temp.getAprovados1013Percent()*100)/100),"Aprovados 10-13","2º Ano");
data.addValue(new Double((int)(temp.getAprovados1416Percent()*100)/100),"Aprovados 14-16","2º Ano");
data.addValue(new Double((int)(temp.getAprovados1720Percent()*100)/100),"Aprovados 17-20","2º Ano");
}
 
for(UnitsLearningResultYear temp: unitsLearningResultYearList) {
data.addValue(new Double((int)(temp.getAprovados1013Percent()*100)/100),"Aprovados 10-13","3º Ano");
data.addValue(new Double((int)(temp.getAprovados1416Percent()*100)/100),"Aprovados 14-16","3º Ano");
data.addValue(new Double((32*100)/100),"Aprovados 17-20","3º Ano");
}
 
 
 
JFreeChart chart = ChartFactory.createStackedBarChart(null,null,null,data, PlotOrientation.VERTICAL,true,false,false);
 
CategoryPlot plot = chart.getCategoryPlot();
65,18 → 81,37
chart.setPadding(chartRectangle);
plot.setBackgroundPaint(Color.WHITE);
CategoryAxis axis = plot.getDomainAxis();
ValueAxis axis2 = plot.getRangeAxis();
NumberAxis axis2 = (NumberAxis) plot.getRangeAxis();
NumberFormat pctFormat = new DecimalFormat("#'%'");
axis.setTickLabelFont(new Font("Helvetica", Font.PLAIN, 30));
axis2.setTickLabelFont(new Font("Helvetica", Font.PLAIN, 30));
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setSeriesPaint(0, Color.ORANGE);
renderer.setSeriesPaint(1, Color.YELLOW);
renderer.setSeriesPaint(2, Color.GREEN);
renderer.setMaximumBarWidth(.35);
axis2.setNumberFormatOverride(pctFormat);
 
Color brown = new Color(237,125,49);
Color yellow = new Color(255,192,0);
Color green = new Color(112,173,71);
 
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
renderer.setGradientPaintTransformer(null);
plot.setRangeGridlinePaint(Color.GRAY);
plot.setRangeGridlinesVisible(true);
plot.setRangeGridlineStroke(new BasicStroke(1.0f));
renderer.setSeriesPaint(0, brown);
renderer.setSeriesPaint(1, yellow);
renderer.setSeriesPaint(2, green);
renderer.setMaximumBarWidth(.20);
 
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}",pctFormat));
renderer.setBaseItemLabelsVisible(true);
ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.HALF_ASCENT_CENTER);
renderer.setBasePositiveItemLabelPosition(position);
renderer.setBaseItemLabelFont(new Font("Helvetica",Font.PLAIN,30));
 
chart.getLegend().setItemFont(new Font("Helvetica", Font.PLAIN,30));
chart.getLegend().setFrame(BlockBorder.NONE);
 
 
 
BufferedImage image = chart.createBufferedImage( 300*4, 200*4);
String pathGraficoTiposAlunos = Globals.TMP_DIR + java.io.File.separator + tempName;
java.io.File output = new java.io.File(pathGraficoTiposAlunos);
/branches/grupo6/impl/src/web/user/courses/courseReportEdit.jsp
301,8 → 301,6
},
"#courseReportApp",
function (resposta) {
 
alert(resposta.courseName);
$scope.$apply();
},
function () {