/* ====================================================================== 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 } );