From 5fb74f4f347453f44ab8f86fff0448218cf86d12 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 23 Feb 2015 09:53:34 +0100 Subject: move show_bargraph into js helper file --- templates/layouts/default.html.ep | 7 +-- templates/main.html.ep | 89 --------------------------------------- 2 files changed, 4 insertions(+), 92 deletions(-) (limited to 'templates') diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep index 479a282..1c1950b 100644 --- a/templates/layouts/default.html.ep +++ b/templates/layouts/default.html.ep @@ -8,9 +8,10 @@ % } - %= stylesheet '/default.css' - %= javascript '/d3.min.js' - %= javascript '/d3.tip.v0.6.3.js' + %= stylesheet '/css/default.css' + %= javascript '/js/d3.min.js' + %= javascript '/js/d3.tip.v0.6.3.js' + %= javascript '/js/d3funcs.js' diff --git a/templates/main.html.ep b/templates/main.html.ep index d0bc8fa..6294a18 100644 --- a/templates/main.html.ep +++ b/templates/main.html.ep @@ -1,94 +1,5 @@ %= javascript begin -function show_bargraph(datasource, title, xlab, ylab) { - var margin = {top: 40, right: 20, bottom: 30, left: 40}, - width = 960 - margin.left - margin.right, - height = 500 - margin.top - margin.bottom; - - var formatPercent = d3.format(".0%"); - - var x = d3.scale.ordinal() - .rangeRoundBands([0, width], .1); - - var y = d3.scale.linear() - .range([height, 0]); - - var xAxis = d3.svg.axis() - .scale(x) - .orient("bottom"); - - var yAxis = d3.svg.axis() - .scale(y) - .orient("left"); - // .tickFormat(formatPercent); - - var tip = d3.tip() - .attr('class', 'd3-tip') - .offset([-10, 0]) - .html(function(d) { - return "Frequency: " + d.y + ""; - }) - - var svg = d3.select("body").append("svg") - .attr("width", width + margin.left + margin.right) - .attr("height", height + margin.top + margin.bottom) - .append("g") - .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - - svg.call(tip); - - d3.tsv(datasource, type, function(error, data) { - if (error) console.warn(error); - x.domain(data.map(function(d) { return d.x; })); - y.domain([0, d3.max(data, function(d) { return d.y; })]); - - svg.append("g") - .attr("class", "x axis") - .attr("transform", "translate(0," + height + ")") - .call(xAxis) - .append("text") - .attr("x", width / 2) - .attr("y", 30) - .style("text-anchor", "middle") - .text(xlab); - - svg.append("g") - .attr("class", "y axis") - .call(yAxis) - .append("text") - .attr("transform", "rotate(-90)") - .attr("y", 6) - .attr("dy", ".71em") - .style("text-anchor", "end") - .text(ylab); - - svg.append("text") - .attr("x", (width / 2)) - .attr("y", 0 - (margin.top / 2)) - .attr("text-anchor", "middle") - .style("font-size", "16px") - .style("text-decoration", "underline") - .text(title); - - svg.selectAll(".bar") - .data(data) - .enter().append("rect") - .attr("class", "bar") - .attr("x", function(d) { return x(d.x); }) - .attr("width", x.rangeBand()) - .attr("y", function(d) { return y(d.y); }) - .attr("height", function(d) { return height - y(d.y); }) - .on('mouseover', tip.show) - .on('mouseout', tip.hide) - - }); - - function type(d) { - d.y = +d.y; - return d; - } -} - show_bargraph('/2ddata.tsv?aggregate=hour&metric=delay', 'Durchschnittliche Verspätung nach Uhrzeit', 'Angebrochene Stunde', 'Minuten'); -- cgit v1.2.3