plotly.js
Version:
The open source javascript graphing library that powers plotly
41 lines (33 loc) • 1.22 kB
JavaScript
var isNumeric = require('fast-isnumeric');
var BADNUM = require('../../constants/numerical').BADNUM;
var calcColorscale = require('../scatter/colorscale_calc');
var arraysToCalcdata = require('../scatter/arrays_to_calcdata');
var calcSelection = require('../scatter/calc_selection');
var calcMarkerSize = require('../scatter/calc').calcMarkerSize;
module.exports = function calc(gd, trace) {
var fullLayout = gd._fullLayout;
var subplotId = trace.subplot;
var realAxis = fullLayout[subplotId].realaxis;
var imaginaryAxis = fullLayout[subplotId].imaginaryaxis;
var realArray = realAxis.makeCalcdata(trace, 'real');
var imagArray = imaginaryAxis.makeCalcdata(trace, 'imag');
var len = trace._length;
var cd = new Array(len);
for(var i = 0; i < len; i++) {
var real = realArray[i];
var imag = imagArray[i];
var cdi = cd[i] = {};
if(isNumeric(real) && isNumeric(imag)) {
cdi.real = real;
cdi.imag = imag;
} else {
cdi.real = BADNUM;
}
}
calcMarkerSize(trace, len);
calcColorscale(gd, trace);
arraysToCalcdata(cd, trace);
calcSelection(cd, trace);
return cd;
};
;