Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * User: Pieterjan Lambrecht
- * Date: 29/08/13
- * Time: 22:22
- */
- var data = [];
- $(document).ready(function(){
- d3.json("./data/chart.json", function (err, json) {
- if (err) {
- console.warn("Fout: " + error);
- }
- for (var i = 0; i < json.length; i++) {
- t = json[i].temp;
- c = json[i].cpu;
- d = json[i].date;
- data.push({temp: t, cpu: c, date: d});
- }
- drawGraph("cpu", drawGraph("temp"));
- });
- })
- // Load cpu data / temperature data
- function drawGraph(t) {
- // Perform actions on document ready
- var w = 500;
- var h = 250;
- var pad = 40;
- var type = t;
- var minDate = getDate(data[0]);
- var maxDate = getDate(data[data.length - 1]);
- var svga;
- switch (type) {
- case("temp"):
- var svga = d3.select("#temp")
- .append("svg")
- .attr("width", w + pad)
- .attr("height", h + pad);
- case("cpu"):
- var svga = d3.select("#cpu")
- .append("svg")
- .attr("width", w + pad)
- .attr("height", h + pad);
- }
- var x = d3.time.scale().domain([minDate, maxDate]).range([pad, w - pad * 2]);
- var y = d3.scale.linear().domain([
- d3.min(data,
- function (d) {
- switch (type) {
- case("temp"):
- return d.temp;
- case("cpu"):
- return d.cpu;
- }
- })*9/10,
- d3.max(data,
- function (d) {
- switch (type) {
- case("temp"):
- return d.temp;
- case("cpu"):
- return d.cpu;
- }
- })*10/9])
- .range([h - pad, pad]);
- var lineFn = d3.svg.line()
- .x(function (d) {
- return x(getDate(d));
- })
- .y(function (d) {
- switch (type) {
- case("temp"):
- return y(d.temp);
- case("cpu"):
- return y(d.cpu);
- default:
- return y(d.temp)
- }
- });
- var yFormat = function(d){
- switch(type){
- case("temp"):
- return d+"\xB0"+"C";
- case("cpu"):
- return d+"%";
- }
- };
- var xAxis = d3.svg.axis()
- .scale(x)
- .ticks(d3.time.hours, 24)
- .orient("bottom");
- var yAxis = d3.svg.axis()
- .scale(y)
- .tickFormat(function(d,i){return yFormat(d)})
- .orient("left")
- .ticks(5);
- var line = svga.append("path")
- .attr("d", lineFn(data));
- svga.append("g")
- .attr("transform", "translate(0," + (h - pad) + ")")
- .call(xAxis);
- svga.append("g")
- .attr("transform", "translate(" + (pad) + ", 0)")
- .call(yAxis);
- }
- function getDate(tbd) {
- var date = tbd.date.split(" ");
- return Date.parse(date[2] + " " + date[1] + " " + date[date.length - 1] + " " + date[3]);
- }
Advertisement
Add Comment
Please, Sign In to add comment