public static JFreeChart createStatisticalBarChart(CategoryDataset dataset) {
final CategoryAxis xAxis = new CategoryAxis("Type");
xAxis.setLowerMargin(0.01d);
xAxis.setUpperMargin(0.01d);
xAxis.setCategoryMargin(0.3d);
xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
final LogarithmicAxis yAxis = new LogarithmicAxis("Time (s)");
yAxis.setAutoRange(true);
yAxis.setLowerBound(0.0001);
yAxis.setMinorTickMarksVisible(true);
yAxis.setAutoRangeIncludesZero(false);
yAxis.setStrictValuesFlag(false);
final CategoryItemRenderer renderer = new StatisticalBarRenderer();
final CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);
final JFreeChart chart = new JFreeChart("Performance Comparison", new Font("Helvetica", Font.BOLD, 14),
plot, true);
return chart;
}