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

55 lines (46 loc) 1.91 kB
var make_row_labels = require('./make_row_labels'); module.exports = function make_row_label_container(cgm, text_delay) { var params = cgm.params; var row_container; // row container holds all row text and row visualizations (triangles rects) //////////////////////////////////////////////////////////////////////////// if ( d3.select(params.viz.viz_svg + ' .row_container').empty() ){ row_container = d3.select(params.viz.viz_svg) .append('g') .classed('row_container', true) .attr('transform', 'translate(' + params.viz.norm_labels.margin.left + ',' + params.viz.clust.margin.top + ')'); } else { row_container = d3.select(params.viz.viz_svg) .select('.row_container') .attr('transform', 'translate(' + params.viz.norm_labels.margin.left + ',' + params.viz.clust.margin.top + ')'); } if (d3.select(params.root+' .row_white_background').empty()){ row_container .append('rect') .classed('row_white_background',true) .classed('white_bars',true) .attr('fill', params.viz.background_color) .attr('width', params.viz.label_background.row) .attr('height', 30*params.viz.clust.dim.height + 'px'); } // add container to hold text row labels if not already there if ( d3.select(params.root +' .row_label_container').empty() ){ row_container .append('g') .classed('row_label_container', true) .attr('transform', 'translate(' + params.viz.norm_labels.width.row + ',0)') .append('g') .classed('row_label_zoom_container', true); } else { row_container .select(params.root+' .row_label_container') .attr('transform', 'translate(' + params.viz.norm_labels.width.row + ',0)'); } // make row labels in the container /////////////////////////////////////// if (params.viz.ds_level === -1){ make_row_labels(cgm, 'all', text_delay); } };