Skip to content

Instantly share code, notes, and snippets.

@HandyAndyShortStack
Last active August 29, 2015 14:02
Show Gist options
  • Save HandyAndyShortStack/87f4357a4c908de4e6fb to your computer and use it in GitHub Desktop.
Save HandyAndyShortStack/87f4357a4c908de4e6fb to your computer and use it in GitHub Desktop.
another revenue report
node_modules/
[{"date":"2013-05-06","amount":1.66},{"date":"2013-05-07","amount":3.32},{"date":"2013-05-08","amount":8.3},{"date":"2013-05-09","amount":11.62},{"date":"2013-05-10","amount":14.94},{"date":"2013-05-11","amount":14.94},{"date":"2013-05-12","amount":14.94},{"date":"2013-05-13","amount":14.94},{"date":"2013-05-14","amount":14.94},{"date":"2013-05-15","amount":14.94},{"date":"2013-05-16","amount":14.94},{"date":"2013-05-17","amount":16.6},{"date":"2013-05-18","amount":16.6},{"date":"2013-05-19","amount":16.6},{"date":"2013-05-20","amount":16.6},{"date":"2013-05-21","amount":68.21},{"date":"2013-05-22","amount":88.19},{"date":"2013-05-23","amount":138.14},{"date":"2013-05-24","amount":168.11},{"date":"2013-05-25","amount":168.11},{"date":"2013-05-26","amount":168.11},{"date":"2013-05-27","amount":168.11},{"date":"2013-05-28","amount":258.03},{"date":"2013-05-29","amount":307.98},{"date":"2013-05-30","amount":367.93},{"date":"2013-05-31","amount":437.86},{"date":"2013-06-01","amount":437.86},{"date":"2013-06-02","amount":437.86},{"date":"2013-06-03","amount":467.83},{"date":"2013-06-04","amount":537.76},{"date":"2013-06-05","amount":667.65},{"date":"2013-06-06","amount":839.17},{"date":"2013-06-07","amount":937.41},{"date":"2013-06-08","amount":937.41},{"date":"2013-06-09","amount":935.75},{"date":"2013-06-10","amount":984.04},{"date":"2013-06-11","amount":1026.0},{"date":"2013-06-12","amount":1085.94},{"date":"2013-06-13","amount":1155.87},{"date":"2013-06-14","amount":1235.79},{"date":"2013-06-15","amount":1235.79},{"date":"2013-06-16","amount":1235.79},{"date":"2013-06-17","amount":1309.04},{"date":"2013-06-18","amount":1329.02},{"date":"2013-06-19","amount":1428.92},{"date":"2013-06-20","amount":1482.19},{"date":"2013-06-21","amount":1583.75},{"date":"2013-06-22","amount":1583.75},{"date":"2013-06-23","amount":1583.75},{"date":"2013-06-24","amount":1595.73},{"date":"2013-06-25","amount":1687.3},{"date":"2013-06-26","amount":1767.23},{"date":"2013-06-27","amount":1837.16},{"date":"2013-06-28","amount":1847.14},{"date":"2013-06-29","amount":1827.16},{"date":"2013-06-30","amount":1797.19},{"date":"2013-07-01","amount":1862.44},{"date":"2013-07-02","amount":1912.39},{"date":"2013-07-03","amount":1962.34},{"date":"2013-07-04","amount":2026.22},{"date":"2013-07-05","amount":1996.24},{"date":"2013-07-06","amount":1896.32},{"date":"2013-07-07","amount":1868.01},{"date":"2013-07-08","amount":1911.95},{"date":"2013-07-09","amount":1971.56},{"date":"2013-07-10","amount":2036.81},{"date":"2013-07-11","amount":2034.82},{"date":"2013-07-12","amount":2014.86},{"date":"2013-07-13","amount":2014.86},{"date":"2013-07-14","amount":1994.88},{"date":"2013-07-15","amount":1998.87},{"date":"2013-07-16","amount":1998.87},{"date":"2013-07-17","amount":2088.8},{"date":"2013-07-18","amount":2178.77},{"date":"2013-07-19","amount":2258.75},{"date":"2013-07-20","amount":2245.44},{"date":"2013-07-21","amount":2242.12},{"date":"2013-07-22","amount":2322.09},{"date":"2013-07-23","amount":2392.08},{"date":"2013-07-24","amount":2450.07},{"date":"2013-07-25","amount":2418.44},{"date":"2013-07-26","amount":2468.44},{"date":"2013-07-27","amount":2468.44},{"date":"2013-07-28","amount":2468.44},{"date":"2013-07-29","amount":2468.44},{"date":"2013-07-30","amount":2558.39},{"date":"2013-07-31","amount":2488.45},{"date":"2013-08-01","amount":2594.77},{"date":"2013-08-02","amount":2654.75},{"date":"2013-08-03","amount":2634.77},{"date":"2013-08-04","amount":2606.83},{"date":"2013-08-05","amount":2642.3},{"date":"2013-08-06","amount":2658.98},{"date":"2013-08-07","amount":2687.31},{"date":"2013-08-08","amount":2708.34},{"date":"2013-08-09","amount":2702.86},{"date":"2013-08-10","amount":2667.91},{"date":"2013-08-11","amount":2657.92},{"date":"2013-08-12","amount":2652.42},{"date":"2013-08-13","amount":2722.4},{"date":"2013-08-14","amount":2772.07},{"date":"2013-08-15","amount":2838.07},{"date":"2013-08-16","amount":2908.07},{"date":"2013-08-17","amount":2843.14},{"date":"2013-08-18","amount":2813.15},{"date":"2013-08-19","amount":2773.17},{"date":"2013-08-20","amount":2803.18},{"date":"2013-08-21","amount":2783.22},{"date":"2013-08-22","amount":2813.21},{"date":"2013-08-23","amount":2813.21},{"date":"2013-08-24","amount":2793.21},{"date":"2013-08-25","amount":2793.21},{"date":"2013-08-26","amount":2783.23},{"date":"2013-08-27","amount":2833.22},{"date":"2013-08-28","amount":2793.26},{"date":"2013-08-29","amount":2803.27},{"date":"2013-08-30","amount":2803.27},{"date":"2013-08-31","amount":2813.26},{"date":"2013-09-01","amount":2783.27},{"date":"2013-09-02","amount":2753.3},{"date":"2013-09-03","amount":2763.31},{"date":"2013-09-04","amount":2747.35},{"date":"2013-09-05","amount":2681.92},{"date":"2013-09-06","amount":2661.93},{"date":"2013-09-07","amount":2601.97},{"date":"2013-09-08","amount":2661.94},{"date":"2013-09-09","amount":2647.44},{"date":"2013-09-10","amount":2675.44},{"date":"2013-09-11","amount":2675.44},{"date":"2013-09-12","amount":2700.94},{"date":"2013-09-13","amount":2730.93},{"date":"2013-09-14","amount":2701.6},{"date":"2013-09-15","amount":2721.58},{"date":"2013-09-16","amount":2711.56},{"date":"2013-09-17","amount":2731.56},{"date":"2013-09-18","amount":2731.56},{"date":"2013-09-19","amount":2691.6},{"date":"2013-09-20","amount":2681.61},{"date":"2013-09-21","amount":2691.62},{"date":"2013-09-22","amount":2681.63},{"date":"2013-09-23","amount":2681.61},{"date":"2013-09-24","amount":2691.6},{"date":"2013-09-25","amount":2671.62},{"date":"2013-09-26","amount":2711.6},{"date":"2013-09-27","amount":2681.61},{"date":"2013-09-28","amount":2671.62},{"date":"2013-09-29","amount":2681.61},{"date":"2013-09-30","amount":2661.63},{"date":"2013-10-01","amount":2659.97},{"date":"2013-10-02","amount":2839.89},{"date":"2013-10-03","amount":2839.89},{"date":"2013-10-04","amount":2879.87},{"date":"2013-10-05","amount":2869.88},{"date":"2013-10-06","amount":2899.86},{"date":"2013-10-07","amount":2889.87},{"date":"2013-10-08","amount":3019.79},{"date":"2013-10-09","amount":3078.44},{"date":"2013-10-10","amount":3138.4},{"date":"2013-10-11","amount":3148.39},{"date":"2013-10-12","amount":3208.34},{"date":"2013-10-13","amount":3158.36},{"date":"2013-10-14","amount":3168.03},{"date":"2013-10-15","amount":3168.03},{"date":"2013-10-16","amount":3228.01},{"date":"2013-10-17","amount":3218.02},{"date":"2013-10-18","amount":3307.99},{"date":"2013-10-19","amount":3367.95},{"date":"2013-10-20","amount":3401.24},{"date":"2013-10-21","amount":3461.22},{"date":"2013-10-22","amount":3581.18},{"date":"2013-10-23","amount":3501.24},{"date":"2013-10-24","amount":3571.21},{"date":"2013-10-25","amount":3661.18},{"date":"2013-10-26","amount":3671.15},{"date":"2013-10-27","amount":3661.16},{"date":"2013-10-28","amount":3711.15},{"date":"2013-10-29","amount":3761.14},{"date":"2013-10-30","amount":3931.04},{"date":"2013-10-31","amount":3890.42},{"date":"2013-11-01","amount":3840.43},{"date":"2013-11-02","amount":3720.49},{"date":"2013-11-03","amount":3670.52},{"date":"2013-11-04","amount":3690.52},{"date":"2013-11-05","amount":3680.53},{"date":"2013-11-06","amount":3700.55},{"date":"2013-11-07","amount":3790.52},{"date":"2013-11-08","amount":3740.59},{"date":"2013-11-09","amount":3740.59},{"date":"2013-11-10","amount":3670.64},{"date":"2013-11-11","amount":3800.61},{"date":"2013-11-12","amount":3780.63},{"date":"2013-11-13","amount":3819.97},{"date":"2013-11-14","amount":3889.94},{"date":"2013-11-15","amount":3889.94},{"date":"2013-11-16","amount":3799.97},{"date":"2013-11-17","amount":3760.0},{"date":"2013-11-18","amount":3720.01},{"date":"2013-11-19","amount":3670.06},{"date":"2013-11-20","amount":3736.7},{"date":"2013-11-21","amount":3716.7},{"date":"2013-11-22","amount":3656.72},{"date":"2013-11-23","amount":3676.7},{"date":"2013-11-24","amount":3616.74},{"date":"2013-11-25","amount":3556.76},{"date":"2013-11-26","amount":3536.78},{"date":"2013-11-27","amount":3586.77},{"date":"2013-11-28","amount":3576.78},{"date":"2013-11-29","amount":3596.74},{"date":"2013-11-30","amount":3477.45},{"date":"2013-12-01","amount":3497.45},{"date":"2013-12-02","amount":3507.46},{"date":"2013-12-03","amount":3597.43},{"date":"2013-12-04","amount":3547.48},{"date":"2013-12-05","amount":3667.42},{"date":"2013-12-06","amount":3677.42},{"date":"2013-12-07","amount":3627.45},{"date":"2013-12-08","amount":3547.49},{"date":"2013-12-09","amount":3597.46},{"date":"2013-12-10","amount":3657.42},{"date":"2013-12-11","amount":3617.43},{"date":"2013-12-12","amount":3667.39},{"date":"2013-12-13","amount":3688.05},{"date":"2013-12-14","amount":3688.05},{"date":"2013-12-15","amount":3628.07},{"date":"2013-12-16","amount":3658.06},{"date":"2013-12-17","amount":3638.08},{"date":"2013-12-18","amount":3638.08},{"date":"2013-12-19","amount":3598.1},{"date":"2013-12-20","amount":3528.15},{"date":"2013-12-21","amount":3568.15},{"date":"2013-12-22","amount":3658.12},{"date":"2013-12-23","amount":3638.14},{"date":"2013-12-24","amount":3628.15},{"date":"2013-12-25","amount":3608.17},{"date":"2013-12-26","amount":3538.2},{"date":"2013-12-27","amount":3608.17},{"date":"2013-12-28","amount":3608.17},{"date":"2013-12-29","amount":3528.23},{"date":"2013-12-30","amount":3578.2},{"date":"2013-12-31","amount":3498.24},{"date":"2014-01-01","amount":3428.27},{"date":"2014-01-02","amount":3498.24},{"date":"2014-01-03","amount":3618.2},{"date":"2014-01-04","amount":3598.2},{"date":"2014-01-05","amount":3528.25},{"date":"2014-01-06","amount":3648.2},{"date":"2014-01-07","amount":3678.19},{"date":"2014-01-08","amount":3678.19},{"date":"2014-01-09","amount":3638.23},{"date":"2014-01-10","amount":3678.23},{"date":"2014-01-11","amount":3608.25},{"date":"2014-01-12","amount":3568.29},{"date":"2014-01-13","amount":3598.28},{"date":"2014-01-14","amount":3568.29},{"date":"2014-01-15","amount":3658.26},{"date":"2014-01-16","amount":3688.25},{"date":"2014-01-17","amount":3688.25},{"date":"2014-01-18","amount":3678.26},{"date":"2014-01-19","amount":3728.25},{"date":"2014-01-20","amount":3728.25},{"date":"2014-01-21","amount":3668.27},{"date":"2014-01-22","amount":3608.29},{"date":"2014-01-23","amount":3608.29},{"date":"2014-01-24","amount":3538.32},{"date":"2014-01-25","amount":3588.27},{"date":"2014-01-26","amount":3608.27},{"date":"2014-01-27","amount":3528.31},{"date":"2014-01-28","amount":3528.31},{"date":"2014-01-29","amount":3498.32},{"date":"2014-01-30","amount":3468.33},{"date":"2014-01-31","amount":3458.34},{"date":"2014-02-01","amount":3458.34},{"date":"2014-02-02","amount":3298.4},{"date":"2014-02-03","amount":3198.44},{"date":"2014-02-04","amount":3197.72},{"date":"2014-02-05","amount":3207.71},{"date":"2014-02-06","amount":3167.72},{"date":"2014-02-07","amount":3167.72},{"date":"2014-02-08","amount":3167.72},{"date":"2014-02-09","amount":3167.72},{"date":"2014-02-10","amount":3167.72},{"date":"2014-02-11","amount":3217.71},{"date":"2014-02-12","amount":3217.71},{"date":"2014-02-13","amount":3127.74},{"date":"2014-02-14","amount":3077.77},{"date":"2014-02-15","amount":2957.81},{"date":"2014-02-16","amount":2987.8},{"date":"2014-02-17","amount":3017.79},{"date":"2014-02-18","amount":2967.81},{"date":"2014-02-19","amount":2967.81},{"date":"2014-02-20","amount":2997.8},{"date":"2014-02-21","amount":3147.75},{"date":"2014-02-22","amount":3147.75},{"date":"2014-02-23","amount":3167.75},{"date":"2014-02-24","amount":3157.76},{"date":"2014-02-25","amount":3107.81},{"date":"2014-02-26","amount":3107.81},{"date":"2014-02-27","amount":3177.79},{"date":"2014-02-28","amount":3387.7},{"date":"2014-03-01","amount":3437.69},{"date":"2014-03-02","amount":3407.7},{"date":"2014-03-03","amount":3417.69},{"date":"2014-03-04","amount":3488.38},{"date":"2014-03-05","amount":3518.37},{"date":"2014-03-06","amount":3528.38},{"date":"2014-03-07","amount":3438.41},{"date":"2014-03-08","amount":3378.43},{"date":"2014-03-09","amount":3338.45},{"date":"2014-03-10","amount":3318.47},{"date":"2014-03-11","amount":3288.48},{"date":"2014-03-12","amount":3308.48},{"date":"2014-03-13","amount":3328.48},{"date":"2014-03-14","amount":3378.47},{"date":"2014-03-15","amount":3378.47},{"date":"2014-03-16","amount":3388.46},{"date":"2014-03-17","amount":3398.47},{"date":"2014-03-18","amount":3368.48},{"date":"2014-03-19","amount":3348.48},{"date":"2014-03-20","amount":3378.47},{"date":"2014-03-21","amount":3308.5},{"date":"2014-03-22","amount":3228.53},{"date":"2014-03-23","amount":3258.52},{"date":"2014-03-24","amount":3258.52},{"date":"2014-03-25","amount":3228.53},{"date":"2014-03-26","amount":3348.49},{"date":"2014-03-27","amount":3328.5},{"date":"2014-03-28","amount":3398.47},{"date":"2014-03-29","amount":3438.45},{"date":"2014-03-30","amount":3558.39},{"date":"2014-03-31","amount":3248.56},{"date":"2014-04-01","amount":3278.55},{"date":"2014-04-02","amount":3308.54},{"date":"2014-04-03","amount":3478.49},{"date":"2014-04-04","amount":3433.66},{"date":"2014-04-05","amount":3393.68},{"date":"2014-04-06","amount":3513.64},{"date":"2014-04-07","amount":3543.63},{"date":"2014-04-08","amount":3603.61},{"date":"2014-04-09","amount":3573.62},{"date":"2014-04-10","amount":3593.62},{"date":"2014-04-11","amount":3593.62},{"date":"2014-04-12","amount":3533.64},{"date":"2014-04-13","amount":3563.63},{"date":"2014-04-14","amount":3573.62},{"date":"2014-04-15","amount":3573.62},{"date":"2014-04-16","amount":3563.63},{"date":"2014-04-17","amount":3593.62},{"date":"2014-04-18","amount":3653.6},{"date":"2014-04-19","amount":3673.6},{"date":"2014-04-20","amount":3703.59},{"date":"2014-04-21","amount":3813.56},{"date":"2014-04-22","amount":3843.55},{"date":"2014-04-23","amount":3933.52},{"date":"2014-04-24","amount":3993.5},{"date":"2014-04-25","amount":4013.49},{"date":"2014-04-26","amount":3922.22},{"date":"2014-04-27","amount":3862.24},{"date":"2014-04-28","amount":3932.21},{"date":"2014-04-29","amount":3932.21},{"date":"2014-04-30","amount":4042.19},{"date":"2014-05-01","amount":4132.16},{"date":"2014-05-02","amount":4352.08},{"date":"2014-05-03","amount":4442.05},{"date":"2014-05-04","amount":4476.88},{"date":"2014-05-05","amount":4506.87},{"date":"2014-05-06","amount":4386.91},{"date":"2014-05-07","amount":4506.87},{"date":"2014-05-08","amount":4656.82},{"date":"2014-05-09","amount":4686.81},{"date":"2014-05-10","amount":4676.82},{"date":"2014-05-11","amount":4706.81},{"date":"2014-05-12","amount":4766.79},{"date":"2014-05-13","amount":4766.79},{"date":"2014-05-14","amount":4906.75},{"date":"2014-05-15","amount":5032.83},{"date":"2014-05-16","amount":5092.81},{"date":"2014-05-17","amount":5032.83},{"date":"2014-05-18","amount":5022.84},{"date":"2014-05-19","amount":5172.79},{"date":"2014-05-20","amount":5100.82},{"date":"2014-05-21","amount":4980.88},{"date":"2014-05-22","amount":5030.86},{"date":"2014-05-23","amount":4910.9},{"date":"2014-05-24","amount":4910.9},{"date":"2014-05-25","amount":4940.89},{"date":"2014-05-26","amount":4902.21},{"date":"2014-05-27","amount":4902.21},{"date":"2014-05-28","amount":4932.2},{"date":"2014-05-29","amount":5022.17},{"date":"2014-05-30","amount":5232.09},{"date":"2014-05-31","amount":5152.08},{"date":"2014-06-01","amount":5242.05},{"date":"2014-06-02","amount":5112.1},{"date":"2014-06-03","amount":5052.12},{"date":"2014-06-04","amount":5062.12},{"date":"2014-06-05","amount":5052.13},{"date":"2014-06-06","amount":5022.14},{"date":"2014-06-07","amount":5082.08},{"date":"2014-06-08","amount":5052.09},{"date":"2014-06-09","amount":5102.07}]
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/d3/3.3.9/d3.min.js"></script>
<style>
.over-rect {
opacity: 0;
}
.over-rect:hover {
opacity: 0.5;
}
.highlight {
opacity: 0.2;
}
</style>
</head>
<body>
<h1>Ares Builder Monthly Aggregate Revenue</h1>
<script>
$(function() {
$.getJSON('data.json', function(data) {
window.data = data;
var datum_width = 3;
var data_height = 600;
var svg = d3.select('body')
.append('svg')
.attr('height', data_height + 50)
.attr('width', (datum_width * data.length) + 50);
for (var i = 0; i < data.length; i += 1) {
var datum = data[i];
var date = new Date(datum.date);
var bar_height = datum.amount / 10;
var rect = svg.append('rect')
.attr('data-amount', datum.amount)
.attr('data-date', datum.date)
.attr('y', data_height - bar_height)
.attr('x', i * datum_width)
.attr('height', bar_height)
.attr('width', datum_width)
.attr('fill', 'black');
var over_rect = svg.append('rect')
.attr('data-index', i)
.attr('data-amount', datum.amount)
.attr('data-date', datum.date)
.attr('y', data_height - bar_height)
.attr('x', i * datum_width)
.attr('height', bar_height)
.attr('width', datum_width)
.attr('fill', 'blue')
.attr('class', 'over-rect');
if (date.getDate() === 1) {
svg.append('text')
.attr('x', i * datum_width)
.attr('y', data_height + 25)
.text(date.toDateString().split(' ')[1]);
}
}
for (var i = 0; i < data_height; i += 100) {
svg.append('text')
.attr('x', (datum_width * data.length) + 10)
.attr('y', data_height - i)
.text('$' + (i * 10));
}
var date_text = svg.append('text')
.attr('x', 100)
.attr('y', 80);
var amount_text = svg.append('text')
.attr('x', 100)
.attr('y', 100);
$('.over-rect').on('mouseover', function() {
amount_text.text('$' + $(this).data('amount'));
var index = $(this).data('index');
var start = 0
if (index > 30) {
start = index - 30;
}
date_text.text( $('rect[data-index=' + start + ']').data('date') + ' to ' + $(this).data('date'));
for (var i = start; i < index; i += 1) {
var rect = d3.select('[data-index="' + i + '"]');
rect.classed('highlight', true);
}
});
$('.over-rect').on('mouseout', function() {
date_text.text('');
amount_text.text('');
var index = $(this).data('index');
var start = 0
if (index > 30) {
start = index - 30;
}
for (var i = start; i < index; i += 1) {
var rect = d3.select('[data-index="' + i + '"]');
rect.classed('highlight', false);
}
});
});
});
</script>
</body>
</html>
var static = require('node-static');
var http = require('http')
var file = new static.Server();
var port = 3031;
http.createServer(function (request, response) {
request.addListener('end', function () {
file.serve(request, response);
}).resume();
}).listen(port);
console.log(require('cowsay').say({
text : 'Your server is up and running on port ' + port + ', boss!',
e : 'oO',
T : 'U '
}));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment