@@ -12,7 +12,7 @@ var d3 = require('d3');
12
12
var Lib = require ( '../../lib' ) ;
13
13
var Drawing = require ( '../../components/drawing' ) ;
14
14
var svgTextUtils = require ( '../../lib/svg_text_utils' ) ;
15
-
15
+ var TEXTPAD = require ( '../bar/constants' ) . TEXTPAD ;
16
16
var partition = require ( './partition' ) ;
17
17
var styleOne = require ( './style' ) . styleOne ;
18
18
var constants = require ( './constants' ) ;
@@ -164,13 +164,28 @@ module.exports = function drawDescendants(gd, cd, entry, slices, opts) {
164
164
s . attr ( 'data-notex' , 1 ) ;
165
165
} ) ;
166
166
167
+ var _x0 = pt . x0 ;
168
+ var _x1 = pt . x1 ;
169
+ var _y0 = pt . y0 ;
170
+ var _y1 = pt . y1 ;
171
+
167
172
var tx ;
168
- if ( isHeader ) {
169
- if ( noRoomForHeader ) return ;
173
+ if ( _x0 < _x1 && _y0 < _y1 ) {
174
+ if ( isHeader ) {
175
+ if ( noRoomForHeader ) return ;
170
176
171
- tx = helpers . getPtLabel ( pt ) ;
172
- } else {
173
- tx = formatSliceLabel ( pt , entry , trace , cd , fullLayout ) || ' ' ;
177
+ tx = helpers . getPtLabel ( pt ) ;
178
+ } else {
179
+ tx = formatSliceLabel ( pt , entry , trace , cd , fullLayout ) || ' ' ;
180
+ }
181
+ } else { // handle text positions for out of range cases e.g. with maxdepth
182
+ tx = ' ' ;
183
+
184
+ var expand = 2 * TEXTPAD ;
185
+ _x0 -= expand ;
186
+ _x1 += expand ;
187
+ _y0 -= expand ;
188
+ _y1 += expand ;
174
189
}
175
190
176
191
sliceText . text ( tx )
@@ -180,16 +195,9 @@ module.exports = function drawDescendants(gd, cd, entry, slices, opts) {
180
195
. call ( svgTextUtils . convertToTspans , gd ) ;
181
196
182
197
pt . textBB = Drawing . bBox ( sliceText . node ( ) ) ;
183
- pt . transform = toMoveInsideSlice (
184
- pt . x0 ,
185
- pt . x1 ,
186
- pt . y0 ,
187
- pt . y1 ,
188
- pt . textBB ,
189
- {
190
- isHeader : isHeader
191
- }
192
- ) ;
198
+ pt . transform = toMoveInsideSlice ( _x0 , _x1 , _y0 , _y1 , pt . textBB , {
199
+ isHeader : isHeader
200
+ } ) ;
193
201
194
202
if ( helpers . isOutsideText ( trace , pt ) ) {
195
203
// consider in/out diff font sizes
0 commit comments