MCPcopy Index your code
hub / github.com/plotly/plotly.js / drawDelta

Function drawDelta

src/traces/indicator/plot.js:614–673  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

612 }
613
614 function drawDelta() {
615 var deltaAx = mockAxis(gd, {tickformat: trace.delta.valueformat}, trace._range);
616 deltaAx.setScale();
617 Axes.prepTicks(deltaAx);
618
619 var deltaFmt = function(v) { return Axes.tickText(deltaAx, v).text;};
620 var deltaSuffix = trace.delta.suffix;
621 var deltaPrefix = trace.delta.prefix;
622
623 var deltaValue = function(d) {
624 var value = trace.delta.relative ? d.relativeDelta : d.delta;
625 return value;
626 };
627 var deltaFormatText = function(value, numberFmt) {
628 if(value === 0 || typeof value !== 'number' || isNaN(value)) return '-';
629 return (value > 0 ? trace.delta.increasing.symbol : trace.delta.decreasing.symbol) + deltaPrefix + numberFmt(value) + deltaSuffix;
630 };
631 var deltaFill = function(d) {
632 return d.delta >= 0 ? trace.delta.increasing.color : trace.delta.decreasing.color;
633 };
634 if(trace._deltaLastValue === undefined) {
635 trace._deltaLastValue = deltaValue(cd[0]);
636 }
637 var delta = numbers.select('text.delta');
638 delta
639 .call(Drawing.font, trace.delta.font)
640 .call(Color.fill, deltaFill({delta: trace._deltaLastValue}));
641
642 function writeDelta() {
643 delta.text(deltaFormatText(deltaValue(cd[0]), deltaFmt))
644 .call(Color.fill, deltaFill(cd[0]))
645 .call(svgTextUtils.convertToTspans, gd);
646 }
647
648 if(hasTransition(transitionOpts)) {
649 delta
650 .transition()
651 .duration(transitionOpts.duration)
652 .ease(transitionOpts.easing)
653 .tween('text', function() {
654 var that = d3.select(this);
655 var to = deltaValue(cd[0]);
656 var from = trace._deltaLastValue;
657 var transitionFmt = transitionFormat(trace.delta.valueformat, deltaFmt, from, to);
658 var interpolator = interpolateNumber(from, to);
659 trace._deltaLastValue = to;
660 return function(t) {
661 that.text(deltaFormatText(interpolator(t), transitionFmt));
662 that.call(Color.fill, deltaFill({delta: interpolator(t)}));
663 };
664 })
665 .each('end', function() { writeDelta(); onComplete && onComplete(); })
666 .each('interrupt', function() { writeDelta(); onComplete && onComplete(); });
667 } else {
668 writeDelta();
669 }
670
671 deltabBox = measureText(deltaFormatText(deltaValue(cd[0]), deltaFmt), trace.delta.font, numbersAnchor, gd);

Callers 1

drawNumbersFunction · 0.85

Calls 8

mockAxisFunction · 0.85
deltaValueFunction · 0.85
deltaFillFunction · 0.85
transitionFormatFunction · 0.85
deltaFormatTextFunction · 0.85
writeDeltaFunction · 0.85
measureTextFunction · 0.85
hasTransitionFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…