UNPKG

clustergrammer

Version:

This is a clustergram implemented in D3.js. I started from the example http://bost.ocks.org/mike/miserables/ and added the following features

29 lines (24 loc) 917 B
module.exports = function zoom_rules_y(viz, zoom_info){ // zoom in the x direction before zooming in the y direction if (viz.zoom_switch_y > 1){ if (zoom_info.zoom_y < viz.zoom_switch_y){ zoom_info.trans_y = 0; zoom_info.zoom_y = 1; } else { zoom_info.zoom_y = zoom_info.zoom_y / viz.zoom_switch_y; } } // calculate panning room available in the y direction zoom_info.pan_room_y = (zoom_info.zoom_y - 1) * viz.clust.dim.height; // console.log( 'pan_room_y: ' + String(zoom_info.pan_room_y) + ' ' + String(-zoom_info.trans_y)) // no positive panning or panning more than pan_room if (zoom_info.trans_y >= 0) { zoom_info.trans_y = 0; // console.log('y no positive panning\n\n') } else if (zoom_info.trans_y <= -zoom_info.pan_room_y) { zoom_info.trans_y = -zoom_info.pan_room_y; // console.log('y restrict pan room \n\n') } return zoom_info; };