/* ======================================================================
LINES
====================================================================== */
// set up our data series with 50 random data points
var seriesData = [ [], [], [] ];
var random = new Rickshaw.Fixtures.RandomData(150);
for (var i = 0; i < 100; i++) {
random.addData(seriesData);
}
// instantiate our graph!
var graph = new Rickshaw.Graph( {
element: document.getElementById("rickshaw-lines"),
renderer: 'line',
series: [
{
color: "#399BFF",
data: seriesData[0],
name: 'London'
}, {
color: "#33577B",
data: seriesData[1],
name: 'New York'
}, {
color: "#26A65B",
data: seriesData[2],
name: 'Tokyo'
}
]
} );
graph.render();
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph,
formatter: function(series, x, y) {
var date = '' + new Date(x * 1000).toUTCString() + '';
var swatch = '';
var content = swatch + series.name + ": " + parseInt(y) + '
' + date;
return content;
}
} );
/* ======================================================================
BARS
====================================================================== */
// set up our data series with 50 random data points
var seriesData = [ [], [], [] ];
var random = new Rickshaw.Fixtures.RandomData(150);
for (var i = 0; i < 50; i++) {
random.addData(seriesData);
}
// instantiate our graph!
var graph = new Rickshaw.Graph( {
element: document.getElementById("rickshaw-bars"),
height: 250,
renderer: 'bar',
series: [
{
color: "#399BFF",
data: seriesData[0],
}, {
color: "#33577B",
data: seriesData[1],
}, {
color: "#26A65B",
data: seriesData[2],
}
]
} );
graph.render();
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph
} );
/* ======================================================================
SCALED
====================================================================== */
var data, graph, i, max, min, point, random, scales, series, _i, _j, _k, _l, _len, _len1, _len2, _ref;
data = [[], []];
random = new Rickshaw.Fixtures.RandomData(12 * 60 * 60);
for (i = _i = 0; _i < 100; i = ++_i) {
random.addData(data);
}
scales = [];
_ref = data[1];
for (_j = 0, _len = _ref.length; _j < _len; _j++) {
point = _ref[_j];
point.y *= point.y;
}
for (_k = 0, _len1 = data.length; _k < _len1; _k++) {
series = data[_k];
min = Number.MAX_VALUE;
max = Number.MIN_VALUE;
for (_l = 0, _len2 = series.length; _l < _len2; _l++) {
point = series[_l];
min = Math.min(min, point.y);
max = Math.max(max, point.y);
}
if (_k === 0) {
scales.push(d3.scale.linear().domain([min, max]).nice());
} else {
scales.push(d3.scale.pow().domain([min, max]).nice());
}
}
graph = new Rickshaw.Graph({
element: document.getElementById("rickshaw-scaled"),
renderer: 'line',
series: [
{
color: '#399BFF',
data: data[0],
name: 'Series A',
scale: scales[0]
}, {
color: '#33577B',
data: data[1],
name: 'Series B',
scale: scales[1]
}
]
});
new Rickshaw.Graph.Axis.Y.Scaled({
element: document.getElementById('axis0'),
graph: graph,
orientation: 'left',
scale: scales[0],
tickFormat: Rickshaw.Fixtures.Number.formatKMBT
});
new Rickshaw.Graph.Axis.Y.Scaled({
element: document.getElementById('axis1'),
graph: graph,
grid: false,
orientation: 'right',
scale: scales[1],
tickFormat: Rickshaw.Fixtures.Number.formatKMBT
});
new Rickshaw.Graph.Axis.Time({
graph: graph
});
new Rickshaw.Graph.HoverDetail({
graph: graph
});
graph.render();
/* ======================================================================
TIME SCALE
====================================================================== */
var seriesData = [ [], [] ];
var random = new Rickshaw.Fixtures.RandomData(1540000);
for (var i = 0; i < 200; i++) {
random.addData(seriesData);
}
var graph = new Rickshaw.Graph({
element: document.getElementById("rickshaw-timescale"),
height: 215,
stroke: true,
strokeWidth: 0.5,
renderer: 'area',
xScale: d3.time.scale(),
yScale: d3.scale.sqrt(),
series:[
{ color: '#33577B', data: seriesData[0] },
{ color: '#399BFF', data: seriesData[1] }
]
});
graph.render();
var xAxis = new Rickshaw.Graph.Axis.X({
graph: graph,
tickFormat: graph.x.tickFormat()
});
xAxis.render();
var yAxis = new Rickshaw.Graph.Axis.Y({
graph: graph
});
yAxis.render();
var slider = new Rickshaw.Graph.RangeSlider.Preview({
graph: graph,
element: document.getElementById('slider')
});
new Rickshaw.Graph.HoverDetail({
graph: graph
});
/* ======================================================================
GAPS
====================================================================== */
var palette = new Rickshaw.Color.Palette();
var graph = new Rickshaw.Graph( {
element: document.getElementById("rickshaw-gaps"),
renderer: 'area',
stroke: true,
series: [
{
data: [ { x: 0, y: 19 }, { x: 1, y: 30 }, { x: 2, y: 22 }, { x: 3, y: 29 }, { x: 4, y: 21 }, { x: 5, y: 29 } ],
name: 'new york',
color: palette.color()
}, {
data: [ { x: 0, y: 19 }, { x: 1, y: 29 }, { x: 2, y: 22 }, { x: 3, y: 27 }, { x: 4, y: 21 }, { x: 5, y: 29 } ],
name: 'boston',
color: palette.color()
}, {
data: [ { x: 0, y: 19 }, { x: 1, y: 22 }, { x: 2, y: 10 }, { x: 3, y: null }, { x: 4, y: 21 }, { x: 5, y: 29 } ],
name: 'los angeles',
color: palette.color()
}, {
data: [ { x: 0, y: 19 }, { x: 1, y: 10 }, { x: 2, y: 22 }, { x: 3, y: null }, { x: 4, y: 21 }, { x: 5, y: 29 } ],
name: 'san francisco',
color: palette.color()
}
]
} );
graph.render();
new Rickshaw.Graph.HoverDetail({ graph: graph });
/* ======================================================================
FIXED
====================================================================== */
var tv = 250;
// instantiate our graph!
var graph = new Rickshaw.Graph( {
element: document.getElementById("rickshaw-fixed"),
height: 250,
renderer: 'line',
series: new Rickshaw.Series.FixedDuration([{ name: 'one' }], undefined, {
timeInterval: tv,
maxDataPoints: 100,
timeBase: new Date().getTime() / 1000
})
} );
graph.render();
// add some data every so often
var i = 0;
var iv = setInterval( function() {
var data = { one: Math.floor(Math.random() * 40) + 200 };
var randInt = Math.floor(Math.random()*100);
data.two = (Math.sin(i++ / 40) + 4) * (randInt + 100);
data.three = randInt + 300;
graph.series.addData(data);
graph.render();
}, tv );
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph
} );