From: Yoav F. <yf...@us...> - 2008-09-11 21:25:50
|
Update of /cvsroot/jboost/jboost/src/jboost/visualization In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv2628/src/jboost/visualization Modified Files: DataSet.java HistogramFrame.java Log Message: Visualizing fluctuations. Index: DataSet.java =================================================================== RCS file: /cvsroot/jboost/jboost/src/jboost/visualization/DataSet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DataSet.java 9 Sep 2008 20:43:24 -0000 1.3 --- DataSet.java 11 Sep 2008 21:25:45 -0000 1.4 *************** *** 10,13 **** --- 10,14 ---- import org.jfree.data.xy.XYDataset; + import org.jfree.data.xy.XYIntervalSeries; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; *************** *** 28,31 **** --- 29,35 ---- */ private ArrayList<ArrayList<DataElement>> data; + private XYIntervalSeries[] fluctBinSeries; + private XYIntervalSeries[] fluctRangeSeries; + private double minScore,maxScore; private int total_pos,total_neg; *************** *** 35,40 **** --- 39,48 ---- this.iterList = iterList; data = new ArrayList<ArrayList<DataElement>>(); + fluctBinSeries = new XYIntervalSeries[iterList.length]; + fluctRangeSeries = new XYIntervalSeries[iterList.length]; for(int i=0; i<iterList.length; i++) { data.add(new ArrayList<DataElement>()); + fluctBinSeries[i] = new XYIntervalSeries("Bins"); + fluctRangeSeries[i] = new XYIntervalSeries("Ranges"); } } *************** *** 62,65 **** --- 70,86 ---- } + public void addFluctItems(int iterNo, double binMin, double binMax, double rangeMin, double rangeMax, double yMin,double yMax) { + fluctBinSeries[iterNo].add(binMin, binMin, binMax, yMin, yMin, (yMax+yMin)/2.0); + fluctRangeSeries[iterNo].add(rangeMin, rangeMin, rangeMax, yMin, yMin, yMax); + } + + public XYIntervalSeries getFluctBins() { + return fluctBinSeries[iteration]; + } + + public XYIntervalSeries getFluctRanges() { + return fluctRangeSeries[iteration]; + } + public void preProcessDataset() { int size = data.size(); Index: HistogramFrame.java =================================================================== RCS file: /cvsroot/jboost/jboost/src/jboost/visualization/HistogramFrame.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** HistogramFrame.java 9 Sep 2008 20:43:24 -0000 1.3 --- HistogramFrame.java 11 Sep 2008 21:25:45 -0000 1.4 *************** *** 84,88 **** private double[] negClassScores,posClassScores; ! private XYIntervalSeriesCollection[] histogramDataset; private int noOfBins=100; private JFreeChart histogramChart; --- 84,88 ---- private double[] negClassScores,posClassScores; ! private XYIntervalSeriesCollection histogramDataset; private int noOfBins=100; private JFreeChart histogramChart; *************** *** 194,200 **** jPanel1.setLayout(jPanel1Layout); { ! histogramDataset = new XYIntervalSeriesCollection[2]; ! histogramDataset[0] = new XYIntervalSeriesCollection(); ! histogramDataset[1] = new XYIntervalSeriesCollection(); updateHistogramDataset(); histogramChart = createHistogramChart(histogramDataset); --- 194,198 ---- jPanel1.setLayout(jPanel1Layout); { ! histogramDataset = new XYIntervalSeriesCollection(); updateHistogramDataset(); histogramChart = createHistogramChart(histogramDataset); *************** *** 290,300 **** private void updateHistogramDataset() { ! if(histogramDataset[0].getSeriesCount()>0) { ! histogramDataset[0].removeAllSeries(); ! histogramDataset[1].removeAllSeries(); } XYIntervalSeries posSeries = new XYIntervalSeries("positive"); XYIntervalSeries negSeries = new XYIntervalSeries("negative"); double[] posHist = rawData.computeHistogram(1, noOfBins); double[] negHist = rawData.computeHistogram(-1,noOfBins); --- 288,298 ---- private void updateHistogramDataset() { ! if(histogramDataset.getSeriesCount()>0) { ! histogramDataset.removeAllSeries(); } XYIntervalSeries posSeries = new XYIntervalSeries("positive"); XYIntervalSeries negSeries = new XYIntervalSeries("negative"); + double[] posHist = rawData.computeHistogram(1, noOfBins); double[] negHist = rawData.computeHistogram(-1,noOfBins); *************** *** 310,329 **** x=x+step; } ! histogramDataset[0].addSeries(posSeries); ! histogramDataset[1].addSeries(negSeries); } ! private static JFreeChart createHistogramChart(IntervalXYDataset[] dataset) { ! XYBarRenderer posRenderer = new XYBarRenderer(); ! posRenderer.setSeriesPaint(0,Color.blue); ! XYBarRenderer negRenderer = new XYBarRenderer(); ! negRenderer.setSeriesPaint(0,Color.red); ! XYPlot plot = new XYPlot(dataset[0], new NumberAxis("score"), new NumberAxis("count"), ! posRenderer); ! plot.setDataset(1, dataset[1]); ! plot.setRenderer(1, negRenderer); //plot.setBackgroundPaint(Color.lightGray); --- 308,332 ---- x=x+step; } ! ! ! histogramDataset.addSeries(posSeries); ! histogramDataset.addSeries(negSeries); ! histogramDataset.addSeries(rawData.getFluctBins()); ! histogramDataset.addSeries(rawData.getFluctRanges()); ! } ! private static JFreeChart createHistogramChart(IntervalXYDataset dataset) { ! XYBarRenderer renderer = new XYBarRenderer(); ! renderer.setSeriesPaint(0,Color.blue); ! renderer.setSeriesPaint(1,Color.red); ! renderer.setSeriesPaint(2,Color.green); ! renderer.setSeriesPaint(3, Color.orange); ! renderer.setUseYInterval(true); ! XYPlot plot = new XYPlot(dataset, new NumberAxis("score"), new NumberAxis("count"), ! renderer); //plot.setBackgroundPaint(Color.lightGray); |