int maxScale = 61;
MultiHistogramDataModel model = buildHistogramDataModel(costs, scalingFunction);
int[] excellent = model.getExcellent().getScaledBinRange(0, MAX_VALUE, maxScale);
int[] good = model.getGood().getScaledBinRange(0, MAX_VALUE, maxScale);
int[] needsWork = model.getNeedsWork().getScaledBinRange(0, MAX_VALUE, maxScale);
HistogramChartUrl chart = new HistogramChartUrl();
chart.setItemLabel(model.getOverallHistogram().getBinLabels(20));
chart.setValues(excellent, good, needsWork);
chart.setYMark(0, model.getOverallHistogram().getMaxBin(), scalingFunction);
chart.setSize(width, height);
chart.setBarWidth((width - HISTOGRAM_LEGEND_WIDTH) / model.getBinCount(), 0, 0);
chart.setChartLabel("Excellent", "Good", "Needs Work");
chart.setColors(GREEN, YELLOW, RED);
return chart;
}