MCPcopy
hub / github.com/plotly/plotly.js / calc

Function calc

src/traces/pie/calc.js:10–88  ·  view source on GitHub ↗
(gd, trace)

Source from the content-addressed store, hash-verified

8var extendedColorWayList = {};
9
10function calc(gd, trace) {
11 var cd = [];
12
13 var fullLayout = gd._fullLayout;
14 var hiddenLabels = fullLayout.hiddenlabels || [];
15
16 var labels = trace.labels;
17 var colors = trace.marker.colors || [];
18 var vals = trace.values;
19 var len = trace._length;
20 var hasValues = trace._hasValues && len;
21
22 var i, pt;
23
24 if(trace.dlabel) {
25 labels = new Array(len);
26 for(i = 0; i < len; i++) {
27 labels[i] = String(trace.label0 + i * trace.dlabel);
28 }
29 }
30
31 var allThisTraceLabels = {};
32 var pullColor = makePullColorFn(fullLayout['_' + trace.type + 'colormap']);
33 var vTotal = 0;
34 var isAggregated = false;
35
36 for(i = 0; i < len; i++) {
37 var v, label, hidden;
38 if(hasValues) {
39 v = vals[i];
40 if(!isNumeric(v)) continue;
41 v = +v;
42 } else v = 1;
43
44 label = labels[i];
45 if(label === undefined || label === '') label = i;
46 label = String(label);
47
48 var thisLabelIndex = allThisTraceLabels[label];
49 if(thisLabelIndex === undefined) {
50 allThisTraceLabels[label] = cd.length;
51
52 hidden = hiddenLabels.indexOf(label) !== -1;
53
54 if(!hidden) vTotal += v;
55
56 cd.push({
57 v: v,
58 label: label,
59 color: pullColor(colors[i], label),
60 i: i,
61 pts: [i],
62 hidden: hidden
63 });
64 } else {
65 isAggregated = true;
66
67 pt = cd[thisLabelIndex];

Callers 3

_calcFunction · 0.50
_calcFunction · 0.50

Calls 1

makePullColorFnFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…