From 82ba82a61cd6033276e7fa15cd07ada2eaab02ec Mon Sep 17 00:00:00 2001 From: Colin Megill Date: Mon, 6 Nov 2017 14:33:18 -0800 Subject: [PATCH] modularize parallel coords --- .../continuous/drawParallelCoordinates.js | 69 +++---------------- 1 file changed, 10 insertions(+), 59 deletions(-) diff --git a/src/components/continuous/drawParallelCoordinates.js b/src/components/continuous/drawParallelCoordinates.js index 79919fd7..39046218 100644 --- a/src/components/continuous/drawParallelCoordinates.js +++ b/src/components/continuous/drawParallelCoordinates.js @@ -1,16 +1,6 @@ import styles from './parallelCoordinates.css'; import renderQueue from "./renderQueue"; -import { - margin, - width, - height, - innerHeight, - color, - createDimensions, - types, - xscale, - yAxis, -} from "./util"; + /***************************************** ****************************************** @@ -18,59 +8,20 @@ Canvas Parallel coordinates with svg brushing via /* via https://bl.ocks.org/syn ****************************************** ******************************************/ -const drawParallelCoordinates = (data, ranges) => { - - const dimensions = createDimensions(ranges); +const drawParallelCoordinates = ( + data, + dimensions, + ctx, + xscale, + width, + height, + margin +) => { const d3_functor = (v) => { return typeof v === "function" ? v : function() { return v; }; }; - /***************************************** - ****************************************** - Setup SVG & Canvas elements - ****************************************** - ******************************************/ - - /* - to enable text below parallel - 1. parcoords_output attach point - 2. this selection - 3. output on render - 4. output on update - */ - - var container = d3.select("#parcoords") - - var svg = container.append("svg") - .attr("width", width + margin.left + margin.right) - .attr("height", height + margin.top + margin.bottom) - .append("g") - .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); - - var canvas = container.append("canvas") - .attr("width", width * devicePixelRatio) - .attr("height", height * devicePixelRatio) - .style("width", width + "px") - .style("height", height + "px") - .style("margin-top", margin.top + "px") - .style("margin-left", margin.left + "px"); - - - var ctx = canvas.node().getContext("2d"); - ctx.globalCompositeOperation = 'darken'; - ctx.globalAlpha = 0.15; - ctx.lineWidth = 1.5; - ctx.scale(devicePixelRatio, devicePixelRatio); - - var output = d3.select("#parcoords_output"); - - var axes = svg.selectAll(".parcoords_axis") - .data(dimensions) - .enter().append("g") - .attr("class", `${styles.axis} parcoords_axis`) - .attr("transform", function(d,i) { return "translate(" + xscale(i) + ")"; }); - /***************************************** ****************************************** process data and extract features