$(function() {
function gatherData($graph, palette) {
var data = [];
$graph.find(".chart-bar-values").each(function(idx, barValues) {
data.push({
color: palette.color(),
name: $(barValues).data("name"),
data: $(barValues).find(".chart-bar-value").map(function(idx, barValue) {
return {
x: parseInt($(barValue).data("index")),
y: parseInt($(barValue).data("value"))
};
}).toArray()
})
});
return data;
}
function indexToLabel(graph, index) {
if ((index + 0.5) % 1 === 0) {
return $(graph).find(".chart-bar-labels[data-index=" + Math.floor(index) + "]").data("name");
} else {
return "";
}
}
$(".chart-bar").each(function(idx, element) {
var palette = new Rickshaw.Color.Palette( { scheme: "spectrum14" } );
var graph = new Rickshaw.Graph({
element: $(element).find(".chart")[0],
renderer: 'bar',
series: gatherData($(element), palette)
});
var y_axis = new Rickshaw.Graph.Axis.Y({
graph: graph,
orientation: 'left',
element: $(element).find(".chart-y-axis")[0],
});
y_axis.render();
var x_axis = new Rickshaw.Graph.Axis.X({
graph: graph,
orientation: 'bottom',
tickFormat: function(idx) {
return indexToLabel(element, idx);
},
element: $(element).find(".chart-x-axis")[0],
});
x_axis.render();
var legend = new Rickshaw.Graph.Legend({
graph: graph,
element: $(element).find(".legend")[0]
});
var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({
graph: graph,
legend: legend
});
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph,
xFormatter: function(x) { return ""; },
formatter: function(series, x, y) {
return y + " [ms]<br/>" + series.name;
},
} );
graph.renderer.unstack = true;
graph.render();
});
});