Created
April 4, 2011 17:36
-
-
Save chelm/902039 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
calculateBreaks: function( features, mean, stdev ){ | |
var self = this | |
var type = self.options[self.class_type].classificationType; | |
var range = self.options[self.class_type].range; | |
var n = self.options[self.class_type].categories; | |
var data_range = range[1] - range[0]; | |
switch (type){ | |
case 'Quantile': | |
var values = features.sort(function(a, b) {return a - b}); | |
var breaks = pv.range(n).map(function(i) { return values[Math.floor(i * (values.length - 1) / n)]}); | |
breaks[n] = range[1]; | |
break; | |
case 'Equal Interval': | |
var breaks = pv.range(n).map(function(i) {return (range[0] + i * data_range / n)}); | |
breaks[n] = range[1] + data_range / 1000; | |
break; | |
case 'St Dev': | |
var breaks = pv.range(n).map(function(i) {return (mean - stdev * (n / 2 - i)) }); | |
breaks[n] = range[1] + data_range / 1000; | |
break; | |
case 'Max Breaks': | |
var difArray = []; | |
for (var i=0; i< features.length-1; i++){ | |
dif = features[i + 1] - features[i]; | |
midPoint = dif / 2 + features[i]; | |
difArray.push({ 'midPoint': midPoint, 'dif': dif }); | |
} | |
difArray.sort(function(a, b) {return a.dif - b.dif}); | |
var breaks = pv.range(n-1).map(function(i) {return difArray[i]['midPoint']}); | |
breaks.sort(); | |
breaks.unshift(range[0]); | |
breaks[n] = range[1] + data_range / 1000; | |
break; | |
} | |
self.breaks = breaks; | |
}, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment