@@ -181,8 +181,8 @@ function nodeModel(uniqueKeys, d, n) {
181
181
var tc = tinycolor ( n . color ) ,
182
182
zoneThicknessPad = c . nodePadAcross ,
183
183
zoneLengthPad = d . nodePad / 2 ,
184
- visibleThickness = n . dx + 0.5 ,
185
- visibleLength = Math . max ( 1 , n . dy - 0.5 ) ;
184
+ visibleThickness = n . dx ,
185
+ visibleLength = Math . max ( 0.5 , n . dy ) ;
186
186
187
187
var basicKey = n . label ;
188
188
var foundKey = uniqueKeys [ basicKey ] ;
@@ -203,7 +203,7 @@ function nodeModel(uniqueKeys, d, n) {
203
203
textFont : d . textFont ,
204
204
size : d . horizontal ? d . height : d . width ,
205
205
visibleWidth : Math . ceil ( visibleThickness ) ,
206
- visibleHeight : Math . ceil ( visibleLength ) ,
206
+ visibleHeight : visibleLength ,
207
207
zoneX : - zoneThicknessPad ,
208
208
zoneY : - zoneLengthPad ,
209
209
zoneWidth : visibleThickness + 2 * zoneThicknessPad ,
@@ -227,14 +227,10 @@ function nodeModel(uniqueKeys, d, n) {
227
227
228
228
// rendering snippets
229
229
230
- function crispLinesOnEnd ( sankeyNode ) {
231
- d3 . select ( sankeyNode . node ( ) . parentNode ) . style ( 'shape-rendering' , 'crispEdges' ) ;
232
- }
233
-
234
230
function updateNodePositions ( sankeyNode ) {
235
231
sankeyNode
236
232
. attr ( 'transform' , function ( d ) {
237
- return 'translate(' + ( d . node . x - 0.5 ) + ', ' + ( d . node . y - d . node . dy / 2 + 0.5 ) + ')' ;
233
+ return 'translate(' + d . node . x . toFixed ( 3 ) + ', ' + ( d . node . y - d . node . dy / 2 ) . toFixed ( 3 ) + ')' ;
238
234
} ) ;
239
235
}
240
236
@@ -247,7 +243,6 @@ function linkPath(d) {
247
243
}
248
244
249
245
function updateNodeShapes ( sankeyNode ) {
250
- d3 . select ( sankeyNode . node ( ) . parentNode ) . style ( 'shape-rendering' , 'optimizeSpeed' ) ;
251
246
sankeyNode . call ( updateNodePositions ) ;
252
247
}
253
248
@@ -360,7 +355,6 @@ function attachDragHandler(sankeyNode, sankeyLink, callbacks) {
360
355
if ( d . arrangement !== 'snap' ) {
361
356
d . sankey . relayout ( ) ;
362
357
updateShapes ( sankeyNode . filter ( sameLayer ( d ) ) , sankeyLink ) ;
363
- sankeyNode . call ( crispLinesOnEnd ) ;
364
358
}
365
359
} )
366
360
@@ -414,15 +408,11 @@ function snappingForce(sankeyNode, forceKey, nodes, d) {
414
408
}
415
409
if ( ! d . interactionState . dragInProgress && maxVelocity < 0.1 && d . forceLayouts [ forceKey ] . alpha ( ) > 0 ) {
416
410
d . forceLayouts [ forceKey ] . alpha ( 0 ) ;
417
- window . setTimeout ( function ( ) {
418
- sankeyNode . call ( crispLinesOnEnd ) ;
419
- } , 30 ) ; // geome on move, crisp when static
420
411
}
421
412
} ;
422
413
}
423
414
424
415
// scene graph
425
-
426
416
module . exports = function ( svg , styledData , layout , callbacks ) {
427
417
var sankey = svg . selectAll ( '.sankey' )
428
418
. data ( styledData
@@ -495,7 +485,6 @@ module.exports = function(svg, styledData, layout, callbacks) {
495
485
496
486
sankeyNodeSet . enter ( )
497
487
. append ( 'g' )
498
- . style ( 'shape-rendering' , 'geometricPrecision' )
499
488
. classed ( 'sankeyNodeSet' , true ) ;
500
489
501
490
sankeyNodeSet
0 commit comments