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

36 lines (24 loc) 1.13 kB
var run_transformation = require('./run_transformation'); var zoom_rules_y = require('./zoom_rules_y'); var zoom_rules_x = require('./zoom_rules_x'); module.exports = function zoomed(cgm) { var params = cgm.params; var zoom_info = {}; zoom_info.zoom_x = d3.event.scale; zoom_info.zoom_y = d3.event.scale; zoom_info.trans_x = params.zoom_behavior.translate()[0] - params.viz.clust.margin.left; zoom_info.trans_y = params.zoom_behavior.translate()[1] - params.viz.clust.margin.top; d3.selectAll(params.viz.root_tips) .style('display','none'); // transfer zoom_info to params params.zoom_info = zoom_rules_y(params.viz, zoom_info); params.zoom_info = zoom_rules_x(params.viz, zoom_info); // do not run transformation if moving slider if (params.is_slider_drag === false && params.is_cropping === false){ // reset translate vector - add back margins to trans_x and trans_y var new_x = zoom_info.trans_x + params.viz.clust.margin.left; var new_y = zoom_info.trans_y + params.viz.clust.margin.top; params.zoom_behavior.translate([new_x, new_y]); run_transformation(params); } };