@@ -47,12 +47,6 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
47
47
var cd0 = cd [ 0 ] ;
48
48
var trace = cd0 . trace ;
49
49
50
- var hasTicker = trace . ticker . showticker ;
51
-
52
- var fmt = d3 . format ( '.3s' ) ;
53
- var tickerPercentFmt = d3 . format ( '2%' ) ;
54
-
55
- // var size = fullLayout._size;
56
50
var domain = trace . domain ;
57
51
var size = Lib . extendFlat ( { } , fullLayout . _size , {
58
52
w : fullLayout . _size . w * ( domain . x [ 1 ] - domain . x [ 0 ] ) ,
@@ -65,17 +59,21 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
65
59
var centerX = size . l + size . w / 2 ;
66
60
67
61
// bignumber
68
- var isBigNumber = trace . mode === 'bignumber' ;
62
+ var isBigNumber = trace . mode . indexOf ( 'bignumber' ) !== - 1 ;
63
+ var fmt = d3 . format ( '.3s' ) ;
64
+
65
+ // delta
66
+ var hasTicker = trace . mode . indexOf ( 'delta' ) !== - 1 ;
67
+ var tickerPercentFmt = d3 . format ( '2%' ) ;
69
68
70
69
// trendline
71
70
var hasSparkline = trace . mode === 'sparkline' ;
72
71
if ( hasSparkline ) isBigNumber = true ;
73
72
74
- // bullet
75
- var isBullet = trace . mode === 'bullet' ;
76
-
77
73
// gauge related
78
- var isGauge = trace . mode === 'gauge' ;
74
+ var isGauge = trace . mode . indexOf ( 'gauge' ) !== - 1 && trace . gauge . shape === 'circular' ;
75
+ var isBullet = trace . mode . indexOf ( 'gauge' ) !== - 1 && trace . gauge . shape === 'bullet' ;
76
+
79
77
var theta = Math . PI / 2 ;
80
78
var radius = Math . min ( size . w / 2 , size . h * 0.75 ) ;
81
79
var innerRadius = cn . innerRadius * radius ;
@@ -96,7 +94,7 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
96
94
mainFontSize = Math . min ( 2 * innerRadius / ( trace . max . toString ( ) . length ) ) ;
97
95
tickerFontSize = 0.35 * mainFontSize ;
98
96
}
99
- if ( isBigNumber ) {
97
+ if ( isBigNumber && ! isGauge ) {
100
98
// Center the text
101
99
mainFontSize = Math . min ( size . w / ( trace . max . toString ( ) . length ) , size . h / 2 ) ;
102
100
verticalMargin = size . t + size . h / 2 ;
@@ -108,6 +106,10 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
108
106
verticalMargin = size . t + size . h / 2 ;
109
107
tickerFontSize = 0.5 * mainFontSize ;
110
108
}
109
+ if ( hasTicker && ! isBigNumber ) {
110
+ mainFontSize = Math . min ( size . w / ( trace . max . toString ( ) . length ) , size . h / 2 ) ;
111
+ tickerFontSize = mainFontSize ;
112
+ }
111
113
gaugeFontSize = Math . max ( 0.25 * mainFontSize , ( radius - innerRadius ) / 4 ) ;
112
114
113
115
plotGroup . each ( function ( ) {
@@ -130,7 +132,8 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
130
132
sparkline . exit ( ) . remove ( ) ;
131
133
132
134
// bignumber
133
- var number = d3 . select ( this ) . selectAll ( 'text.number' ) . data ( cd ) ;
135
+ data = cd . filter ( function ( ) { return isBigNumber ; } ) ;
136
+ var number = d3 . select ( this ) . selectAll ( 'text.number' ) . data ( data ) ;
134
137
number . enter ( ) . append ( 'text' ) . classed ( 'number' , true ) ;
135
138
136
139
number . attr ( {
@@ -193,7 +196,7 @@ module.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallb
193
196
return d . delta > 0 ? 'green' : 'red' ;
194
197
} )
195
198
. text ( function ( d ) {
196
- var value = trace . ticker . showpercentage ? tickerPercentFmt ( d . relativeDelta ) : fmt ( d . delta ) ;
199
+ var value = trace . delta . showpercentage ? tickerPercentFmt ( d . relativeDelta ) : fmt ( d . delta ) ;
197
200
return ( d . delta > 0 ? cn . DIRSYMBOL . increasing : cn . DIRSYMBOL . decreasing ) + value ;
198
201
} ) ;
199
202
ticker . exit ( ) . remove ( ) ;
0 commit comments