Improved statistics chart
This commit is contained in:
parent
9f44b1dc78
commit
0b4c7d440c
|
@ -1,6 +1,12 @@
|
|||
import org.jfree.chart.ChartFactory;
|
||||
import org.jfree.chart.ChartPanel;
|
||||
import org.jfree.chart.JFreeChart;
|
||||
import org.jfree.chart.axis.CategoryLabelPositions;
|
||||
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
|
||||
import org.jfree.chart.plot.CategoryPlot;
|
||||
import org.jfree.chart.renderer.category.BarRenderer;
|
||||
import org.jfree.chart.renderer.category.CategoryItemRenderer;
|
||||
import org.jfree.chart.renderer.category.StandardBarPainter;
|
||||
import org.jfree.data.category.DefaultCategoryDataset;
|
||||
import org.jfree.svg.SVGGraphics2D;
|
||||
|
||||
|
@ -11,6 +17,7 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -304,13 +311,28 @@ public class Chess {
|
|||
for (int i = 0; i < players.length; i++) {
|
||||
List<Integer> delays = players[i].getDelays();
|
||||
for (int j = 0; j < delays.size(); j++) {
|
||||
dataset.addValue(delays.get(j), playerNames[i], (j+1)+".");
|
||||
dataset.addValue(delays.get(j)/1000.0, playerNames[i], (j+1)+".");
|
||||
}
|
||||
}
|
||||
JFreeChart chart = ChartFactory.createLineChart(
|
||||
"Turn speed", "Turns", "Time (ms)",
|
||||
JFreeChart chart = ChartFactory.createBarChart(
|
||||
"Turn speed", "Turns", "Time (s)",
|
||||
dataset
|
||||
);
|
||||
CategoryPlot plot = chart.getCategoryPlot();
|
||||
plot.setBackgroundPaint(Color.LIGHT_GRAY);
|
||||
plot.setRangeGridlinePaint(Color.GRAY);
|
||||
CategoryItemRenderer renderer = plot.getRenderer();
|
||||
renderer.setDefaultItemLabelGenerator(
|
||||
new StandardCategoryItemLabelGenerator("{2}", NumberFormat.getInstance())
|
||||
);
|
||||
renderer.setDefaultItemLabelFont(new Font("Arial", Font.PLAIN, 9));
|
||||
renderer.setDefaultItemLabelsVisible(true);
|
||||
BarRenderer br = (BarRenderer) renderer;
|
||||
br.setItemMargin(0.05);
|
||||
br.setBarPainter(new StandardBarPainter());
|
||||
br.setSeriesPaint(0, Color.WHITE);
|
||||
br.setSeriesPaint(1, Color.BLACK);
|
||||
chart.removeLegend();
|
||||
|
||||
ChartPanel panel = new ChartPanel(chart);
|
||||
window.add(panel);
|
||||
|
|
Loading…
Reference in a new issue