// General container var container = $('.visualization'); // Graph container var divChart = $('
').appendTo(container); // Settings: ways to group data var groupings = { datetime: { century: { truncate: function(x) {return x.substr(0, 2)}, next: function(x) {x = new Date(x); x.setFullYear(x.getFullYear()+100); return x;}, }, decade: { truncate: function(x) {return x.substr(0, 3)}, next: function(x) {x = new Date(x); x.setFullYear(x.getFullYear()+10); return x;}, }, year: { truncate: function(x) {return x.substr(0, 4)}, next: function(x) {x = new Date(x); x.setFullYear(x.getFullYear()+1); return x;}, }, month: { truncate: function(x) {return x.substr(0, 7)}, next: function(x) {x = new Date(x); x.setMonth(x.getMonth()+1); return x;}, }, day: { truncate: function(x) {return x.substr(0, 10)}, next: function(x) {x = new Date(x); x.setDate(x.getDate()+1); return x;}, }, }, numeric: { unit: { truncate: function(x) {return Math.round(x)}, next: function(x) {return x+1;}, }, }, }; var graphIt = function(corpusId, getDataCollection, groupingKey, smoothing) { divChart.empty(); // Get data from server var dimensions; var series = []; $.each(getDataCollection, function(i, getData) { var responseData; $.ajax('/api/corpus/' + corpusId + '/data', { async: false, success: function(response) {responseData = response;}, data: getData, }); dimensions = responseData.dimensions; // add to the series series.push({ name: '#' + i, data: responseData.list, }); }); var grouping = groupings.datetime[groupingKey]; // generate associative data var associativeData = {}; for (var s=0; s dimension.extrema.max) { dimension.extrema.max = value; } row[d] = value; } keys[row[0]] = true; } // interpolation var xMin = dimensions[0].extrema.min; var xMax = dimensions[0].extrema.max; for (var x=xMin; x row2[0]; }); // do the graph! // var labels = [dimensions[0].key]; // for (var k=0; k').prependTo(container); var inputSmoothing = $('').prependTo(container).blur(function() { var val = $(this).val(); if (isNaN(val)) { val = 1; } val = Math.round(val); if (val < 1) { val = 1; } $(this).val(val); }).val(1); container.prepend(' with a smoothing of '); var selectGrouping = $('').prependTo(container); container.prepend(', corpus '); var selectProject = $('') .attr('name', 'mesured') .appendTo(liDataset); $('