From d872f6ee4681ff13386b6b17da3a4d713c5afdd1 Mon Sep 17 00:00:00 2001 From: James Saunders Date: Sun, 18 Nov 2018 08:20:57 +0000 Subject: [PATCH] Rename surfaceArea to surfacePlot. --- README.md | 6 +-- build/d3-x3dom.js | 46 +++++++++--------- build/d3-x3dom.min.js | 2 +- build/d3-x3dom.zip | Bin 23276 -> 23275 bytes examples/Components.html | 8 +-- .../{SurfaceArea.html => SurfacePlot.html} | 4 +- examples/randomData.js | 4 +- package.json | 2 +- src/chart.js | 4 +- src/chart/scatterPlot.js | 2 +- src/chart/{surfaceArea.js => surfacePlot.js} | 12 ++--- src/component.js | 4 +- src/component/axis.js | 2 +- src/component/axisThreePlane.js | 2 +- src/component/bars.js | 2 +- src/component/barsMultiSeries.js | 2 +- src/component/bubbles.js | 2 +- src/component/bubblesMultiSeries.js | 2 +- src/component/ribbon.js | 2 +- src/component/{surfaceArea.js => surface.js} | 6 +-- src/component/viewpoint.js | 2 +- 21 files changed, 58 insertions(+), 58 deletions(-) rename examples/{SurfaceArea.html => SurfacePlot.html} (89%) rename src/chart/{surfaceArea.js => surfacePlot.js} (95%) rename src/component/{surfaceArea.js => surface.js} (98%) diff --git a/README.md b/README.md index f34b262a..a6a3894c 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Inspired by Mike Bostock's [reusable charts](http://bost.ocks.org/mike/chart/), * [Vertical Bar Chart](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/BarChartVertical.html) * [Bubble Chart](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/BubbleChart.html) * [Scatter Plot](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/ScatterPlot.html) -* [Surface Area](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/SurfaceArea.html) +* [Surface Plot](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/SurfacePlot.html) * [Components Showcase](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) * [Observable Examples](https://www.npmjs.com/package/d3-x3dom) @@ -128,7 +128,7 @@ Component modules do not generate a `x3d` tag, these should be attached to an ex | component.barsMultiSeries() | Multi series Bar Chart | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) | component.bubbles() | Bubble / Scatter Plot | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) | component.bubblesMultiSeries() | Multi series Bubbles / Scatter Plot | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) -| component.surfaceArea() | Surface Area | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) +| component.surface() | Surface Area | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) | component.viewpoint() | User's location and viewing model parameters | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/Components.html) #### Charts @@ -143,7 +143,7 @@ Chart modules also generate the `x3d` tag, these should be attached to a `div` t | chart.barChartVertical() | Simple single series Bar Chart & Axis | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/BarChartVertical.html) | chart.bubbleChart() | Multi series Bubble Chart & Axis | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/BubbleChart.html) | chart.scatterPlot() | Scatter Plot & Axis | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/ScatterPlot.html) -| chart.surfaceArea() | Surface Area Chart & Axis | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/SurfaceArea.html) +| chart.surfacePlot() | Surface Plot & Axis | [View](https://raw.githack.com/jamesleesaunders/d3-x3dom/master/examples/SurfacePlot.html) ### Data Structures diff --git a/build/d3-x3dom.js b/build/d3-x3dom.js index 2814661b..0c1f61a1 100644 --- a/build/d3-x3dom.js +++ b/build/d3-x3dom.js @@ -12,7 +12,7 @@ (global.d3 = global.d3 || {}, global.d3.x3dom = factory(global.d3)); }(this, (function (d3) { 'use strict'; -var version = "1.0.16"; +var version = "1.0.17"; var license = "GPL-2.0"; var _extends = Object.assign || function (target) { @@ -344,7 +344,7 @@ function dataTransform(data) { } /** - * Reusable 3D Axis + * Reusable 3D Axis Component * * @module */ @@ -591,7 +591,7 @@ function componentAxis () { } /** - * Reusable 3D Multi Plane Axis + * Reusable 3D Multi Plane Axis Component * * @module */ @@ -716,7 +716,7 @@ function componentAxisThreePlane () { } /** - * Reusable 3D Bar Chart + * Reusable 3D Bar Chart Component * * @module */ @@ -870,7 +870,7 @@ function componentBars () { } /** - * Reusable 3D Multi Series Bar Chart + * Reusable 3D Multi Series Bar Chart Component * * @module */ @@ -1028,7 +1028,7 @@ function componentBarsMultiSeries () { } /** - * Reusable 3D Bubble Chart + * Reusable 3D Bubble Chart Component * * @module */ @@ -1209,7 +1209,7 @@ function componentBubbles () { } /** - * Reusable 3D Multi Series Bubble Chart + * Reusable 3D Multi Series Bubble Chart Component * * @module */ @@ -1394,16 +1394,16 @@ function componentBubblesMultiSeries () { } /** - * Reusable 3D Surface Area + * Reusable 3D Surface Area Component * * @module */ -function componentSurfaceArea () { +function componentSurface () { /* Default Properties */ var dimensions = { x: 40, y: 40, z: 40 }; var colors = ["blue", "red"]; - var classed = "x3dSurfaceArea"; + var classed = "x3dSurface"; /* Scales */ var xScale = void 0; @@ -1461,7 +1461,7 @@ function componentSurfaceArea () { * Constructor * * @constructor - * @alias surfaceArea + * @alias surface * @param {d3.selection} selection - The chart holder D3 selection. */ function my(selection) { @@ -1594,7 +1594,7 @@ function componentSurfaceArea () { } /** - * Reusable X3DOM Viewpoint + * Reusable X3DOM Viewpoint Component * * @module */ @@ -1709,7 +1709,7 @@ function componentViewpoint () { } /** - * Reusable 3D Ribbon Chart + * Reusable 3D Ribbon Chart Component * * @module */ @@ -1839,7 +1839,7 @@ var component = { barsMultiSeries: componentBarsMultiSeries, bubbles: componentBubbles, bubblesMultiSeries: componentBubblesMultiSeries, - surfaceArea: componentSurfaceArea, + surface: componentSurface, viewpoint: componentViewpoint, ribbon: componentRibbon }; @@ -2495,7 +2495,7 @@ function chartBubbleChart () { } /** - * Reusable 3D Scatter Plot + * Reusable 3D Scatter Plot Chart * * @module * @@ -2684,7 +2684,7 @@ function chartScatterPlot () { } /** - * Reusable 3D Surface Area + * Reusable 3D Surface Plot Chart * * @module * @@ -2692,17 +2692,17 @@ function chartScatterPlot () { * @example * var chartHolder = d3.select("#chartholder"); * var myData = [...]; - * var myChart = d3.x3dom.chart.surfaceArea(); + * var myChart = d3.x3dom.chart.surfacePlot(); * chartHolder.datum(myData).call(myChart); */ -function chartSurfaceArea () { +function chartSurfacePlot () { /* Default Properties */ var width = 500; var height = 500; var dimensions = { x: 40, y: 40, z: 40 }; var colors = ["blue", "red"]; - var classed = "x3dSurfaceArea"; + var classed = "x3dSurfacePlot"; var debug = false; /* Scales */ @@ -2746,7 +2746,7 @@ function chartSurfaceArea () { * Constructor * * @constructor - * @alias surfaceArea + * @alias surfacePlot * @param {d3.selection} selection - The chart holder D3 selection. */ function my(selection) { @@ -2773,8 +2773,8 @@ function chartSurfaceArea () { // Construct Axis Component var axis = component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale); - // Construct Surface Area Component - var chart = component.surfaceArea().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors); + // Construct Surface Component + var chart = component.surface().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors); scene.select(".axis").call(axis); @@ -2898,7 +2898,7 @@ var chart = { barChartVertical: chartBarChartVertical, bubbleChart: chartBubbleChart, scatterPlot: chartScatterPlot, - surfaceArea: chartSurfaceArea + surfacePlot: chartSurfacePlot }; /** diff --git a/build/d3-x3dom.min.js b/build/d3-x3dom.min.js index f6e6d378..8d6e9524 100644 --- a/build/d3-x3dom.min.js +++ b/build/d3-x3dom.min.js @@ -1 +1 @@ -(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory(require("d3")):typeof define==="function"&&define.amd?define(["d3"],factory):(global.d3=global.d3||{},global.d3.x3dom=factory(global.d3))})(this,function(d3){"use strict";var version="1.0.16";var license="GPL-2.0";var _extends=Object.assign||function(target){for(var i=1;i20?20:ret}();var thresholds=function(){var distance=maxValue-minValue;return[+(minValue+.15*distance).toFixed(maxDecimalPlace),+(minValue+.4*distance).toFixed(maxDecimalPlace),+(minValue+.55*distance).toFixed(maxDecimalPlace),+(minValue+.9*distance).toFixed(maxDecimalPlace)]}();var rotate=function rotate(){var columnKeys=data.map(function(d){return d.key});var rowKeys=data[0].values.map(function(d){return d.key});var rotated=rowKeys.map(function(rowKey,rowIndex){var values=columnKeys.map(function(columnKey,columnIndex){var values=_extends({},data[columnIndex].values[rowIndex]);values.key=columnKey;return values});return{key:rowKey,values:values}});return rotated};var summary=function summary(){return{dataStructure:dataStructure,rowKey:rowKey,rowTotal:rowTotal,rowKeys:rowKeys,rowTotals:rowTotals,rowTotalsMax:rowTotalsMax,columnKeys:columnKeys,columnTotals:columnTotals,columnTotalsMax:columnTotalsMax,minValue:minValue,maxValue:maxValue,maxCoordinates:maxCoordinates,maxDecimalPlace:maxDecimalPlace,thresholds:thresholds}};return{summary:summary,rotate:rotate}}function componentAxis(){var dimensions={x:40,y:40,z:40};var color="black";var classed="x3dAxis";var scale=void 0;var dir=void 0;var tickDir=void 0;var tickArguments=[];var tickValues=null;var tickFormat=null;var tickSize=1;var tickPadding=1;var axisDirectionVectors={x:[1,0,0],y:[0,1,0],z:[0,0,1]};var axisRotationVectors={x:[1,1,0,Math.PI],y:[0,0,0,0],z:[0,1,1,Math.PI]};function getAxisDirectionVector(axisDir){return axisDirectionVectors[axisDir]}function getAxisRotationVector(axisDir){return axisRotationVectors[axisDir]}function my(selection){selection.classed(classed,true);var makeSolid=function makeSolid(selection,color){selection.append("appearance").append("material").attr("diffuseColor",color||"black");return selection};var range=scale.range();var range0=range[0];var range1=range[range.length-1];var dirVec=getAxisDirectionVector(dir);var tickDirVec=getAxisDirectionVector(tickDir);var rotVec=getAxisRotationVector(dir);var tickRotVec=getAxisRotationVector(tickDir);var path=selection.selectAll("transform").data([null]);var tickValuesDefault=scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain();tickValues=tickValues===null?tickValuesDefault:tickValues;var tick=selection.selectAll(".tick").data(tickValues,scale).order();var tickExit=tick.exit();var tickEnter=tick.enter().append("transform").attr("translation",function(t){return dirVec.map(function(a){return scale(t)*a}).join(" ")}).attr("class","tick");var line=tick.select(".tickLine");path=path.merge(path.enter().append("transform").attr("rotation",rotVec.join(" ")).attr("translation",dirVec.map(function(d){return d*(range0+range1)/2}).join(" ")).append("shape").call(makeSolid,color).attr("class","domain"));tick=tick.merge(tickEnter);line=line.merge(tickEnter.append("transform"));var tickFormatDefault=scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):function(d){return d};tickFormat=tickFormat===null?tickFormatDefault:tickFormat;if(tickFormat!==""){var text=tick.select("billboard");var newText=tickEnter.append("transform");newText.attr("translation",tickDirVec.map(function(d){return-d*tickPadding})).append("billboard").attr("axisOfRotation","0 0 0").append("shape").call(makeSolid,"black").append("text").attr("string",tickFormat).append("fontstyle").attr("size",1.3).attr("family","SANS").attr("style","BOLD").attr("justify","MIDDLE");text=text.merge(newText)}tickExit.remove();path.append("cylinder").attr("radius",.1).attr("height",range1-range0);line.attr("translation",tickDirVec.map(function(d){return d*tickSize/2}).join(" ")).attr("rotation",tickRotVec.join(" ")).attr("class","tickLine").append("shape").call(makeSolid).append("cylinder").attr("radius",.05).attr("height",tickSize)}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return my};my.scale=function(_x){if(!arguments.length)return scale;scale=_x;return my};my.dir=function(_x){if(!arguments.length)return dir;dir=_x;return my};my.tickDir=function(_x){if(!arguments.length)return tickDir;tickDir=_x;return my};my.tickArguments=function(_x){if(!arguments.length)return tickArguments;tickArguments=_x;return my};my.tickValues=function(_x){if(!arguments.length)return tickValues;tickValues=_x;return my};my.tickFormat=function(_x){if(!arguments.length)return tickFormat;tickFormat=_x;return my};my.tickSize=function(_x){if(!arguments.length)return tickSize;tickSize=_x;return my};my.tickPadding=function(_x){if(!arguments.length)return tickPadding;tickPadding=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}function componentAxisThreePlane(){var dimensions={x:40,y:40,z:40};var colors=["blue","red","green"];var classed="x3dAxisThreePlane";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function my(selection){var layers=["xzAxis","yzAxis","yxAxis","zxAxis"];selection.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var xzAxis=componentAxis().scale(xScale).dir("x").tickDir("z").tickSize(zScale.range()[1]-zScale.range()[0]).tickPadding(xScale.range()[0]).color("blue");var yzAxis=componentAxis().scale(yScale).dir("y").tickDir("z").tickSize(zScale.range()[1]-zScale.range()[0]).color("red");var yxAxis=componentAxis().scale(yScale).dir("y").tickDir("x").tickSize(xScale.range()[1]-xScale.range()[0]).tickFormat("").color("red");var zxAxis=componentAxis().scale(zScale).dir("z").tickDir("x").tickSize(xScale.range()[1]-xScale.range()[0]).color("black");selection.select(".xzAxis").call(xzAxis);selection.select(".yzAxis").call(yzAxis);selection.select(".yxAxis").call(yxAxis);selection.select(".zxAxis").call(zxAxis)}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBars(){var dimensions={x:40,y:40,z:2};var colors=["orange","red","yellow","steelblue","green"];var classed="x3dBars";var xScale=void 0;var yScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.3)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bars=selection.selectAll(".bar").data(function(d){return d.values});var barsEnter=bars.enter().append("transform").classed("bar",true).attr("scale",function(d){var x=xScale.bandwidth();var y=yScale(d.value);var z=dimensions.z;return x+" "+y+" "+z}).attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;var z=0;return x+" "+y+" "+z}).append("shape").merge(bars);barsEnter.append("box").attr("size","1.0 1.0 1.0");barsEnter.append("appearance").append("material").attr("diffuseColor",function(d){return colorScale(d.key)}).attr("ambientIntensity","0.1");bars.transition().attr("scale",function(d){var x=xScale.bandwidth();var y=yScale(d.value);var z=dimensions.z;return x+" "+y+" "+z}).attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;var z=0;return x+" "+y+" "+z})})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBarsMultiSeries(){var dimensions={x:40,y:40,z:40};var colors=["orange","red","yellow","steelblue","green"];var classed="x3dBarsMultiSeries";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scaleBand().domain(rowKeys).range([0,dimensions.z]).padding(.7)}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bars=componentBars().xScale(xScale).yScale(yScale).dimensions({x:dimensions.x,y:dimensions.y,z:zScale.bandwidth()}).colors(colors);var barGroup=selection.selectAll(".barGroup").data(data);barGroup.enter().append("transform").classed("barGroup",true).attr("translation",function(d){var x=0;var y=0;var z=zScale(d.key);return x+" "+y+" "+z}).append("group").call(bars).merge(barGroup);barGroup.exit().remove()})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBubbles(){var dimensions={x:40,y:40,z:40};var color="orange";var classed="x3dBubbles";var xScale=void 0;var yScale=void 0;var zScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,4];function init(data){var maxX=d3.max(data.values,function(d){return+d.x});var maxY=d3.max(data.values,function(d){return+d.y});var maxZ=d3.max(data.values,function(d){return+d.z});var maxValue=d3.max(data.values,function(d){return+d.value});var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxX]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxY]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxZ]).range([0,dimensions.z])}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var makeSolid=function makeSolid(selection,color){selection.append("appearance").append("material").attr("diffuseColor",color||"black");return selection};var bubblesSelect=selection.selectAll(".point").data(function(d){return d.values});var bubbles=bubblesSelect.enter().append("transform").attr("class","point").attr("translation",function(d){return xScale(d.x)+" "+yScale(d.y)+" "+zScale(d.z)}).attr("onmouseover","d3.select(this).select('billboard').attr('render', true);").attr("onmouseout","d3.select(this).select('transform').select('billboard').attr('render', false);").merge(bubblesSelect);bubbles.append("shape").call(makeSolid,color).append("sphere").attr("radius",function(d){return sizeScale(d.value)});bubbles.append("transform").attr("translation","0.8 0.8 0.8").append("billboard").attr("render",false).attr("axisOfRotation","0 0 0").append("shape").call(makeSolid,"blue").append("text").attr("class","labelText").attr("string",function(d){return d.key}).append("fontstyle").attr("size",1).attr("family","SANS").attr("style","BOLD").attr("justify","START").attr("render",false)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}function componentBubblesMultiSeries(){var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBubblesMultiSeries";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,3];function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,maxCoordinates=_dataTransform$summar.maxCoordinates,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(rowKeys).range(colors)}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bubbles=componentBubbles().xScale(xScale).yScale(yScale).zScale(zScale).sizeScale(sizeScale).color(function(d){return colorScale(d.key)});var bubbleGroup=selection.selectAll(".bubbleGroup").data(data);bubbleGroup.enter().append("group").classed("bubbleGroup",true).each(function(d){var color=colorScale(d.key);bubbles.color(color);d3.select(this).call(bubbles)}).merge(bubbleGroup);bubbleGroup.exit().remove()})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentSurfaceArea(){var dimensions={x:40,y:40,z:40};var colors=["blue","red"];var classed="x3dSurfaceArea";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function array2dToString(arr){return arr.reduce(function(a,b){return a.concat(b)},[]).reduce(function(a,b){return a.concat(b)},[]).join(" ")}function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scalePoint().domain(rowKeys).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scalePoint().domain(columnKeys).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleLinear().domain(extent).range(colors).interpolate(d3.interpolateLab)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var ny=data.length;var nx=data[0].values.length;var coordinatePoints=function coordinatePoints(data){var points=data.map(function(X){return X.values.map(function(d){return[xScale(X.key),yScale(d.value),zScale(d.key)]})});return array2dToString(points)};var colorFaceSet=function colorFaceSet(data){var colors=data.map(function(X){return X.values.map(function(d){var col=d3.color(colorScale(d.value));return""+Math.round(col.r/2.55)/100+" "+Math.round(col.g/2.55)/100+" "+Math.round(col.b/2.55)/100})});return array2dToString(colors)};var coordIndex=Array.apply(0,Array(ny-1)).map(function(_,j){return Array.apply(0,Array(nx-1)).map(function(_,i){var start=i+j*nx;return[start,start+nx,start+nx+1,start+1,start,-1]})});var coordIndexBack=Array.apply(0,Array(ny-1)).map(function(_,j){return Array.apply(0,Array(nx-1)).map(function(_,i){var start=i+j*nx;return[start,start+1,start+nx+1,start+nx,start,-1]})});var coords=array2dToString(coordIndex.concat(coordIndexBack));var surfaces=selection.selectAll(".surface").data([data]);var indexedfaceset=surfaces.enter().append("shape").append("indexedfaceset").attr("coordIndex",coords);indexedfaceset.append("coordinate").attr("point",coordinatePoints);indexedfaceset.append("color").attr("color",colorFaceSet)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentViewpoint(){var centerOfRotation=[0,0,0];var viewPosition=[80,15,80];var viewOrientation=[0,1,0,.8];var fieldOfView=.8;var classed="x3dViewpoint";function my(selection){selection.append("viewpoint").classed(classed,true).attr("centerOfRotation",centerOfRotation.join(" ")).attr("position",viewPosition.join(" ")).attr("orientation",viewOrientation.join(" ")).attr("fieldOfView",fieldOfView).attr("set_bind","true")}my.quickView=function(view){switch(view){case"left":centerOfRotation=[0,0,0];viewPosition=[37.10119,18.70484,51.01594];viewOrientation=[.06724,.99767,-.01148,.33908];fieldOfView=1;break;case"side":centerOfRotation=[20,0,0];viewPosition=[20,20,50];viewOrientation=[0,0,0,0];fieldOfView=1;break;case"top":centerOfRotation=[0,0,0];viewPosition=[27.12955,106.67181,31.65828];viewOrientation=[-.86241,.3749,.34013,1.60141];fieldOfView=1;break;case"dimetric":default:centerOfRotation=[0,0,0];viewPosition=[80,15,80];viewOrientation=[0,1,0,.8];fieldOfView=.8}return my};my.centerOfRotation=function(_x){if(!arguments.length)return centerOfRotation;centerOfRotation=_x;return my};my.viewPosition=function(_x){if(!arguments.length)return viewPosition;viewPosition=_x;return my};my.viewOrientation=function(_x){if(!arguments.length)return viewOrientation;viewOrientation=_x;return my};my.fieldOfView=function(_x){if(!arguments.length)return fieldOfView;fieldOfView=_x;return my};return my}function componentRibbon(){var dimensions={x:40,y:40,z:40};var color="red";var classed="x3dRibbon";var xScale=void 0;var yScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.3)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var ribbonSelect=selection.selectAll(".point").data(function(d){return d.values});var ribbon=ribbonSelect.enter().append("transform").attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;return x+" "+y+" 0"}).attr("rotation",function(){return"0,-1,0,1.57079633"}).append("shape");ribbon.append("rectangle2d").attr("size",function(d){var width=5;var height=yScale(d.value);return width+" "+height}).attr("solid","true");ribbon.append("appearance").append("twosidedmaterial").attr("diffuseColor",color)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}var component={axis:componentAxis,axisThreePlane:componentAxisThreePlane,bars:componentBars,barsMultiSeries:componentBarsMultiSeries,bubbles:componentBubbles,bubblesMultiSeries:componentBubblesMultiSeries,surfaceArea:componentSurfaceArea,viewpoint:componentViewpoint,ribbon:componentRibbon};function chartBarChartMultiSeries(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBarChartMultiSeries";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scaleBand().domain(rowKeys).range([0,dimensions.z]).padding(.7)}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.append("directionallight").attr("direction","1 0 -1").attr("on","true").attr("intensity","0.4").attr("shadowintensity","0");scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.barsMultiSeries().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartBarChartVertical(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBarChartVertical";var debug=false;var xScale=void 0;var yScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["xAxis","yAxis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().quickView("left");scene.call(viewpoint);scene.each(function(data){init(data);var xAxis=component.axis().scale(xScale).dir("x").tickDir("y");var yAxis=component.axis().scale(yScale).dir("y").tickDir("x").tickSize(yScale.range()[1]-yScale.range()[0]);var chart=component.bars().xScale(xScale).yScale(yScale).colors(colors);scene.select(".xAxis").call(xAxis);scene.select(".yAxis").call(yAxis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartBubbleChart(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBubbleChart";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,4];function init(data){var _dataTransform$summar=dataTransform(data).summary(),maxCoordinates=_dataTransform$summar.maxCoordinates,rowKeys=_dataTransform$summar.rowKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(rowKeys).range(colors)}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.append("directionallight").attr("direction","1 0 -1").attr("on","true").attr("intensity","0.4").attr("shadowintensity","0");scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.bubblesMultiSeries().xScale(xScale).yScale(yScale).zScale(zScale).sizeScale(sizeScale).colorScale(colorScale);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartScatterPlot(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var color="orange";var classed="x3dScatterPlot";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),maxCoordinates=_dataTransform$summar.maxCoordinates;if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.bubbles().xScale(xScale).yScale(yScale).zScale(zScale).color(color).sizeDomain([.5,.5]);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartSurfaceArea(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["blue","red"];var classed="x3dSurfaceArea";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scalePoint().domain(rowKeys).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scalePoint().domain(columnKeys).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleLinear().domain(extent).range(colors).interpolate(d3.interpolateLab)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.surfaceArea().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}var chart={barChartMultiSeries:chartBarChartMultiSeries,barChartVertical:chartBarChartVertical,bubbleChart:chartBubbleChart,scatterPlot:chartScatterPlot,surfaceArea:chartSurfaceArea};var author$1="James Saunders";var date=new Date;var copyright="Copyright (C) "+date.getFullYear()+" "+author$1;var index={version:version,author:author$1,copyright:copyright,license:license,dataTransform:dataTransform,chart:chart,component:component};return index}); +(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory(require("d3")):typeof define==="function"&&define.amd?define(["d3"],factory):(global.d3=global.d3||{},global.d3.x3dom=factory(global.d3))})(this,function(d3){"use strict";var version="1.0.17";var license="GPL-2.0";var _extends=Object.assign||function(target){for(var i=1;i20?20:ret}();var thresholds=function(){var distance=maxValue-minValue;return[+(minValue+.15*distance).toFixed(maxDecimalPlace),+(minValue+.4*distance).toFixed(maxDecimalPlace),+(minValue+.55*distance).toFixed(maxDecimalPlace),+(minValue+.9*distance).toFixed(maxDecimalPlace)]}();var rotate=function rotate(){var columnKeys=data.map(function(d){return d.key});var rowKeys=data[0].values.map(function(d){return d.key});var rotated=rowKeys.map(function(rowKey,rowIndex){var values=columnKeys.map(function(columnKey,columnIndex){var values=_extends({},data[columnIndex].values[rowIndex]);values.key=columnKey;return values});return{key:rowKey,values:values}});return rotated};var summary=function summary(){return{dataStructure:dataStructure,rowKey:rowKey,rowTotal:rowTotal,rowKeys:rowKeys,rowTotals:rowTotals,rowTotalsMax:rowTotalsMax,columnKeys:columnKeys,columnTotals:columnTotals,columnTotalsMax:columnTotalsMax,minValue:minValue,maxValue:maxValue,maxCoordinates:maxCoordinates,maxDecimalPlace:maxDecimalPlace,thresholds:thresholds}};return{summary:summary,rotate:rotate}}function componentAxis(){var dimensions={x:40,y:40,z:40};var color="black";var classed="x3dAxis";var scale=void 0;var dir=void 0;var tickDir=void 0;var tickArguments=[];var tickValues=null;var tickFormat=null;var tickSize=1;var tickPadding=1;var axisDirectionVectors={x:[1,0,0],y:[0,1,0],z:[0,0,1]};var axisRotationVectors={x:[1,1,0,Math.PI],y:[0,0,0,0],z:[0,1,1,Math.PI]};function getAxisDirectionVector(axisDir){return axisDirectionVectors[axisDir]}function getAxisRotationVector(axisDir){return axisRotationVectors[axisDir]}function my(selection){selection.classed(classed,true);var makeSolid=function makeSolid(selection,color){selection.append("appearance").append("material").attr("diffuseColor",color||"black");return selection};var range=scale.range();var range0=range[0];var range1=range[range.length-1];var dirVec=getAxisDirectionVector(dir);var tickDirVec=getAxisDirectionVector(tickDir);var rotVec=getAxisRotationVector(dir);var tickRotVec=getAxisRotationVector(tickDir);var path=selection.selectAll("transform").data([null]);var tickValuesDefault=scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain();tickValues=tickValues===null?tickValuesDefault:tickValues;var tick=selection.selectAll(".tick").data(tickValues,scale).order();var tickExit=tick.exit();var tickEnter=tick.enter().append("transform").attr("translation",function(t){return dirVec.map(function(a){return scale(t)*a}).join(" ")}).attr("class","tick");var line=tick.select(".tickLine");path=path.merge(path.enter().append("transform").attr("rotation",rotVec.join(" ")).attr("translation",dirVec.map(function(d){return d*(range0+range1)/2}).join(" ")).append("shape").call(makeSolid,color).attr("class","domain"));tick=tick.merge(tickEnter);line=line.merge(tickEnter.append("transform"));var tickFormatDefault=scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):function(d){return d};tickFormat=tickFormat===null?tickFormatDefault:tickFormat;if(tickFormat!==""){var text=tick.select("billboard");var newText=tickEnter.append("transform");newText.attr("translation",tickDirVec.map(function(d){return-d*tickPadding})).append("billboard").attr("axisOfRotation","0 0 0").append("shape").call(makeSolid,"black").append("text").attr("string",tickFormat).append("fontstyle").attr("size",1.3).attr("family","SANS").attr("style","BOLD").attr("justify","MIDDLE");text=text.merge(newText)}tickExit.remove();path.append("cylinder").attr("radius",.1).attr("height",range1-range0);line.attr("translation",tickDirVec.map(function(d){return d*tickSize/2}).join(" ")).attr("rotation",tickRotVec.join(" ")).attr("class","tickLine").append("shape").call(makeSolid).append("cylinder").attr("radius",.05).attr("height",tickSize)}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return my};my.scale=function(_x){if(!arguments.length)return scale;scale=_x;return my};my.dir=function(_x){if(!arguments.length)return dir;dir=_x;return my};my.tickDir=function(_x){if(!arguments.length)return tickDir;tickDir=_x;return my};my.tickArguments=function(_x){if(!arguments.length)return tickArguments;tickArguments=_x;return my};my.tickValues=function(_x){if(!arguments.length)return tickValues;tickValues=_x;return my};my.tickFormat=function(_x){if(!arguments.length)return tickFormat;tickFormat=_x;return my};my.tickSize=function(_x){if(!arguments.length)return tickSize;tickSize=_x;return my};my.tickPadding=function(_x){if(!arguments.length)return tickPadding;tickPadding=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}function componentAxisThreePlane(){var dimensions={x:40,y:40,z:40};var colors=["blue","red","green"];var classed="x3dAxisThreePlane";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function my(selection){var layers=["xzAxis","yzAxis","yxAxis","zxAxis"];selection.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var xzAxis=componentAxis().scale(xScale).dir("x").tickDir("z").tickSize(zScale.range()[1]-zScale.range()[0]).tickPadding(xScale.range()[0]).color("blue");var yzAxis=componentAxis().scale(yScale).dir("y").tickDir("z").tickSize(zScale.range()[1]-zScale.range()[0]).color("red");var yxAxis=componentAxis().scale(yScale).dir("y").tickDir("x").tickSize(xScale.range()[1]-xScale.range()[0]).tickFormat("").color("red");var zxAxis=componentAxis().scale(zScale).dir("z").tickDir("x").tickSize(xScale.range()[1]-xScale.range()[0]).color("black");selection.select(".xzAxis").call(xzAxis);selection.select(".yzAxis").call(yzAxis);selection.select(".yxAxis").call(yxAxis);selection.select(".zxAxis").call(zxAxis)}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBars(){var dimensions={x:40,y:40,z:2};var colors=["orange","red","yellow","steelblue","green"];var classed="x3dBars";var xScale=void 0;var yScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.3)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bars=selection.selectAll(".bar").data(function(d){return d.values});var barsEnter=bars.enter().append("transform").classed("bar",true).attr("scale",function(d){var x=xScale.bandwidth();var y=yScale(d.value);var z=dimensions.z;return x+" "+y+" "+z}).attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;var z=0;return x+" "+y+" "+z}).append("shape").merge(bars);barsEnter.append("box").attr("size","1.0 1.0 1.0");barsEnter.append("appearance").append("material").attr("diffuseColor",function(d){return colorScale(d.key)}).attr("ambientIntensity","0.1");bars.transition().attr("scale",function(d){var x=xScale.bandwidth();var y=yScale(d.value);var z=dimensions.z;return x+" "+y+" "+z}).attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;var z=0;return x+" "+y+" "+z})})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBarsMultiSeries(){var dimensions={x:40,y:40,z:40};var colors=["orange","red","yellow","steelblue","green"];var classed="x3dBarsMultiSeries";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scaleBand().domain(rowKeys).range([0,dimensions.z]).padding(.7)}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bars=componentBars().xScale(xScale).yScale(yScale).dimensions({x:dimensions.x,y:dimensions.y,z:zScale.bandwidth()}).colors(colors);var barGroup=selection.selectAll(".barGroup").data(data);barGroup.enter().append("transform").classed("barGroup",true).attr("translation",function(d){var x=0;var y=0;var z=zScale(d.key);return x+" "+y+" "+z}).append("group").call(bars).merge(barGroup);barGroup.exit().remove()})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentBubbles(){var dimensions={x:40,y:40,z:40};var color="orange";var classed="x3dBubbles";var xScale=void 0;var yScale=void 0;var zScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,4];function init(data){var maxX=d3.max(data.values,function(d){return+d.x});var maxY=d3.max(data.values,function(d){return+d.y});var maxZ=d3.max(data.values,function(d){return+d.z});var maxValue=d3.max(data.values,function(d){return+d.value});var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxX]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxY]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxZ]).range([0,dimensions.z])}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var makeSolid=function makeSolid(selection,color){selection.append("appearance").append("material").attr("diffuseColor",color||"black");return selection};var bubblesSelect=selection.selectAll(".point").data(function(d){return d.values});var bubbles=bubblesSelect.enter().append("transform").attr("class","point").attr("translation",function(d){return xScale(d.x)+" "+yScale(d.y)+" "+zScale(d.z)}).attr("onmouseover","d3.select(this).select('billboard').attr('render', true);").attr("onmouseout","d3.select(this).select('transform').select('billboard').attr('render', false);").merge(bubblesSelect);bubbles.append("shape").call(makeSolid,color).append("sphere").attr("radius",function(d){return sizeScale(d.value)});bubbles.append("transform").attr("translation","0.8 0.8 0.8").append("billboard").attr("render",false).attr("axisOfRotation","0 0 0").append("shape").call(makeSolid,"blue").append("text").attr("class","labelText").attr("string",function(d){return d.key}).append("fontstyle").attr("size",1).attr("family","SANS").attr("style","BOLD").attr("justify","START").attr("render",false)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}function componentBubblesMultiSeries(){var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBubblesMultiSeries";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,3];function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,maxCoordinates=_dataTransform$summar.maxCoordinates,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(rowKeys).range(colors)}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var bubbles=componentBubbles().xScale(xScale).yScale(yScale).zScale(zScale).sizeScale(sizeScale).color(function(d){return colorScale(d.key)});var bubbleGroup=selection.selectAll(".bubbleGroup").data(data);bubbleGroup.enter().append("group").classed("bubbleGroup",true).each(function(d){var color=colorScale(d.key);bubbles.color(color);d3.select(this).call(bubbles)}).merge(bubbleGroup);bubbleGroup.exit().remove()})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentSurface(){var dimensions={x:40,y:40,z:40};var colors=["blue","red"];var classed="x3dSurface";var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function array2dToString(arr){return arr.reduce(function(a,b){return a.concat(b)},[]).reduce(function(a,b){return a.concat(b)},[]).join(" ")}function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scalePoint().domain(rowKeys).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scalePoint().domain(columnKeys).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleLinear().domain(extent).range(colors).interpolate(d3.interpolateLab)}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var ny=data.length;var nx=data[0].values.length;var coordinatePoints=function coordinatePoints(data){var points=data.map(function(X){return X.values.map(function(d){return[xScale(X.key),yScale(d.value),zScale(d.key)]})});return array2dToString(points)};var colorFaceSet=function colorFaceSet(data){var colors=data.map(function(X){return X.values.map(function(d){var col=d3.color(colorScale(d.value));return""+Math.round(col.r/2.55)/100+" "+Math.round(col.g/2.55)/100+" "+Math.round(col.b/2.55)/100})});return array2dToString(colors)};var coordIndex=Array.apply(0,Array(ny-1)).map(function(_,j){return Array.apply(0,Array(nx-1)).map(function(_,i){var start=i+j*nx;return[start,start+nx,start+nx+1,start+1,start,-1]})});var coordIndexBack=Array.apply(0,Array(ny-1)).map(function(_,j){return Array.apply(0,Array(nx-1)).map(function(_,i){var start=i+j*nx;return[start,start+1,start+nx+1,start+nx,start,-1]})});var coords=array2dToString(coordIndex.concat(coordIndexBack));var surfaces=selection.selectAll(".surface").data([data]);var indexedfaceset=surfaces.enter().append("shape").append("indexedfaceset").attr("coordIndex",coords);indexedfaceset.append("coordinate").attr("point",coordinatePoints);indexedfaceset.append("color").attr("color",colorFaceSet)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};return my}function componentViewpoint(){var centerOfRotation=[0,0,0];var viewPosition=[80,15,80];var viewOrientation=[0,1,0,.8];var fieldOfView=.8;var classed="x3dViewpoint";function my(selection){selection.append("viewpoint").classed(classed,true).attr("centerOfRotation",centerOfRotation.join(" ")).attr("position",viewPosition.join(" ")).attr("orientation",viewOrientation.join(" ")).attr("fieldOfView",fieldOfView).attr("set_bind","true")}my.quickView=function(view){switch(view){case"left":centerOfRotation=[0,0,0];viewPosition=[37.10119,18.70484,51.01594];viewOrientation=[.06724,.99767,-.01148,.33908];fieldOfView=1;break;case"side":centerOfRotation=[20,0,0];viewPosition=[20,20,50];viewOrientation=[0,0,0,0];fieldOfView=1;break;case"top":centerOfRotation=[0,0,0];viewPosition=[27.12955,106.67181,31.65828];viewOrientation=[-.86241,.3749,.34013,1.60141];fieldOfView=1;break;case"dimetric":default:centerOfRotation=[0,0,0];viewPosition=[80,15,80];viewOrientation=[0,1,0,.8];fieldOfView=.8}return my};my.centerOfRotation=function(_x){if(!arguments.length)return centerOfRotation;centerOfRotation=_x;return my};my.viewPosition=function(_x){if(!arguments.length)return viewPosition;viewPosition=_x;return my};my.viewOrientation=function(_x){if(!arguments.length)return viewOrientation;viewOrientation=_x;return my};my.fieldOfView=function(_x){if(!arguments.length)return fieldOfView;fieldOfView=_x;return my};return my}function componentRibbon(){var dimensions={x:40,y:40,z:40};var color="red";var classed="x3dRibbon";var xScale=void 0;var yScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.3)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y])}}function my(selection){selection.classed(classed,true);selection.each(function(data){init(data);var ribbonSelect=selection.selectAll(".point").data(function(d){return d.values});var ribbon=ribbonSelect.enter().append("transform").attr("translation",function(d){var x=xScale(d.key);var y=yScale(d.value)/2;return x+" "+y+" 0"}).attr("rotation",function(){return"0,-1,0,1.57079633"}).append("shape");ribbon.append("rectangle2d").attr("size",function(d){var width=5;var height=yScale(d.value);return width+" "+height}).attr("solid","true");ribbon.append("appearance").append("twosidedmaterial").attr("diffuseColor",color)})}my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};return my}var component={axis:componentAxis,axisThreePlane:componentAxisThreePlane,bars:componentBars,barsMultiSeries:componentBarsMultiSeries,bubbles:componentBubbles,bubblesMultiSeries:componentBubblesMultiSeries,surface:componentSurface,viewpoint:componentViewpoint,ribbon:componentRibbon};function chartBarChartMultiSeries(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBarChartMultiSeries";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scaleBand().domain(rowKeys).range([0,dimensions.z]).padding(.7)}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.append("directionallight").attr("direction","1 0 -1").attr("on","true").attr("intensity","0.4").attr("shadowintensity","0");scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.barsMultiSeries().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartBarChartVertical(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBarChartVertical";var debug=false;var xScale=void 0;var yScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleBand().domain(columnKeys).rangeRound([0,dimensions.x]).padding(.5)}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(columnKeys).range(colors)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["xAxis","yAxis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().quickView("left");scene.call(viewpoint);scene.each(function(data){init(data);var xAxis=component.axis().scale(xScale).dir("x").tickDir("y");var yAxis=component.axis().scale(yScale).dir("y").tickDir("x").tickSize(yScale.range()[1]-yScale.range()[0]);var chart=component.bars().xScale(xScale).yScale(yScale).colors(colors);scene.select(".xAxis").call(xAxis);scene.select(".yAxis").call(yAxis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartBubbleChart(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["green","red","yellow","steelblue","orange"];var classed="x3dBubbleChart";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;var sizeScale=void 0;var sizeDomain=[.5,4];function init(data){var _dataTransform$summar=dataTransform(data).summary(),maxCoordinates=_dataTransform$summar.maxCoordinates,rowKeys=_dataTransform$summar.rowKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleOrdinal().domain(rowKeys).range(colors)}if(typeof sizeScale==="undefined"){sizeScale=d3.scaleLinear().domain(extent).range(sizeDomain)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.append("directionallight").attr("direction","1 0 -1").attr("on","true").attr("intensity","0.4").attr("shadowintensity","0");scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.bubblesMultiSeries().xScale(xScale).yScale(yScale).zScale(zScale).sizeScale(sizeScale).colorScale(colorScale);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.sizeScale=function(_x){if(!arguments.length)return sizeScale;sizeScale=_x;return my};my.sizeDomain=function(_x){if(!arguments.length)return sizeDomain;sizeDomain=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartScatterPlot(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var color="orange";var classed="x3dScatterPlot";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),maxCoordinates=_dataTransform$summar.maxCoordinates;if(typeof xScale==="undefined"){xScale=d3.scaleLinear().domain([0,maxCoordinates.x]).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain([0,maxCoordinates.y]).range([0,dimensions.y])}if(typeof zScale==="undefined"){zScale=d3.scaleLinear().domain([0,maxCoordinates.z]).range([0,dimensions.z])}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.bubbles().xScale(xScale).yScale(yScale).zScale(zScale).color(color).sizeDomain([.5,.5]);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.color=function(_x){if(!arguments.length)return color;color=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}function chartSurfacePlot(){var width=500;var height=500;var dimensions={x:40,y:40,z:40};var colors=["blue","red"];var classed="x3dSurfacePlot";var debug=false;var xScale=void 0;var yScale=void 0;var zScale=void 0;var colorScale=void 0;function init(data){var _dataTransform$summar=dataTransform(data).summary(),rowKeys=_dataTransform$summar.rowKeys,columnKeys=_dataTransform$summar.columnKeys,maxValue=_dataTransform$summar.maxValue;var extent=[0,maxValue];if(typeof xScale==="undefined"){xScale=d3.scalePoint().domain(rowKeys).range([0,dimensions.x])}if(typeof yScale==="undefined"){yScale=d3.scaleLinear().domain(extent).range([0,dimensions.y]).nice()}if(typeof zScale==="undefined"){zScale=d3.scalePoint().domain(columnKeys).range([0,dimensions.z])}if(typeof colorScale==="undefined"){colorScale=d3.scaleLinear().domain(extent).range(colors).interpolate(d3.interpolateLab)}}function my(selection){var x3d=selection.append("x3d").attr("width",width+"px").attr("height",height+"px");if(debug){x3d.attr("showLog","true").attr("showStat","true")}var scene=x3d.append("scene");var layers=["axis","chart"];scene.classed(classed,true).selectAll("group").data(layers).enter().append("group").attr("class",function(d){return d});var viewpoint=component.viewpoint().centerOfRotation([dimensions.x/2,dimensions.y/2,dimensions.z/2]);scene.call(viewpoint);scene.each(function(data){init(data);var axis=component.axisThreePlane().xScale(xScale).yScale(yScale).zScale(zScale);var chart=component.surface().xScale(xScale).yScale(yScale).zScale(zScale).colors(colors);scene.select(".axis").call(axis);scene.select(".chart").datum(data).call(chart)})}my.width=function(_x){if(!arguments.length)return width;width=_x;return this};my.height=function(_x){if(!arguments.length)return height;height=_x;return this};my.dimensions=function(_x){if(!arguments.length)return dimensions;dimensions=_x;return this};my.xScale=function(_x){if(!arguments.length)return xScale;xScale=_x;return my};my.yScale=function(_x){if(!arguments.length)return yScale;yScale=_x;return my};my.zScale=function(_x){if(!arguments.length)return zScale;zScale=_x;return my};my.colorScale=function(_x){if(!arguments.length)return colorScale;colorScale=_x;return my};my.colors=function(_x){if(!arguments.length)return colors;colors=_x;return my};my.debug=function(_x){if(!arguments.length)return debug;debug=_x;return my};return my}var chart={barChartMultiSeries:chartBarChartMultiSeries,barChartVertical:chartBarChartVertical,bubbleChart:chartBubbleChart,scatterPlot:chartScatterPlot,surfacePlot:chartSurfacePlot};var author$1="James Saunders";var date=new Date;var copyright="Copyright (C) "+date.getFullYear()+" "+author$1;var index={version:version,author:author$1,copyright:copyright,license:license,dataTransform:dataTransform,chart:chart,component:component};return index}); diff --git a/build/d3-x3dom.zip b/build/d3-x3dom.zip index 282d6f87f3cf5b420eed12e77c160802e4ffed01..bf60b610d5ce954d80880b99160e2262a4229e25 100644 GIT binary patch delta 16177 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 j1( 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 delta 16145 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 - d3-x3dom : 3D Surface Area Example + d3-x3dom : 3D Surface Plot Example @@ -21,7 +21,7 @@ var myData = randomDataset5(); // Declare the chart component - var myChart = d3.x3dom.chart.surfaceArea(); + var myChart = d3.x3dom.chart.surfacePlot(); // Attach chart and data to the chartholder chartHolder.datum(myData).call(myChart); diff --git a/examples/randomData.js b/examples/randomData.js index 802a61e7..d6dde289 100644 --- a/examples/randomData.js +++ b/examples/randomData.js @@ -89,7 +89,7 @@ function randomDataset3() { } /** - * Random Dataset - Surface Area 2 + * Random Dataset - Surface Plot 2 * * @returns {*} */ @@ -147,7 +147,7 @@ function randomDataset4() { } /** - * Random Dataset - Surface Area + * Random Dataset - Surface Plot * * @returns {*} */ diff --git a/package.json b/package.json index e7f450f4..711c42f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "d3-x3dom", - "version": "1.0.16", + "version": "1.0.17", "description": "D3 X3DOM Data Visualisation Library", "license": "GPL-2.0", "keywords": [ diff --git a/src/chart.js b/src/chart.js index 6f713105..c2c58bce 100644 --- a/src/chart.js +++ b/src/chart.js @@ -2,12 +2,12 @@ import chartBarChartMultiSeries from "./chart/barChartMultiSeries"; import chartBarChartVertical from "./chart/barChartVertical"; import chartBubbleChart from "./chart/bubbleChart"; import chartScatterPlot from "./chart/scatterPlot"; -import chartSurfaceArea from "./chart/surfaceArea"; +import chartSurfacePlot from "./chart/surfacePlot"; export default { barChartMultiSeries: chartBarChartMultiSeries, barChartVertical: chartBarChartVertical, bubbleChart: chartBubbleChart, scatterPlot: chartScatterPlot, - surfaceArea: chartSurfaceArea + surfacePlot: chartSurfacePlot }; diff --git a/src/chart/scatterPlot.js b/src/chart/scatterPlot.js index fef04d8f..483edc87 100644 --- a/src/chart/scatterPlot.js +++ b/src/chart/scatterPlot.js @@ -3,7 +3,7 @@ import dataTransform from "../dataTransform"; import component from "../component"; /** - * Reusable 3D Scatter Plot + * Reusable 3D Scatter Plot Chart * * @module * diff --git a/src/chart/surfaceArea.js b/src/chart/surfacePlot.js similarity index 95% rename from src/chart/surfaceArea.js rename to src/chart/surfacePlot.js index 65acae38..399a6297 100644 --- a/src/chart/surfaceArea.js +++ b/src/chart/surfacePlot.js @@ -3,7 +3,7 @@ import dataTransform from "../dataTransform"; import component from "../component"; /** - * Reusable 3D Surface Area + * Reusable 3D Surface Plot Chart * * @module * @@ -11,7 +11,7 @@ import component from "../component"; * @example * var chartHolder = d3.select("#chartholder"); * var myData = [...]; - * var myChart = d3.x3dom.chart.surfaceArea(); + * var myChart = d3.x3dom.chart.surfacePlot(); * chartHolder.datum(myData).call(myChart); */ export default function() { @@ -21,7 +21,7 @@ export default function() { let height = 500; let dimensions = { x: 40, y: 40, z: 40 }; let colors = ["blue", "red"]; - let classed = "x3dSurfaceArea"; + let classed = "x3dSurfacePlot"; let debug = false; /* Scales */ @@ -61,7 +61,7 @@ export default function() { * Constructor * * @constructor - * @alias surfaceArea + * @alias surfacePlot * @param {d3.selection} selection - The chart holder D3 selection. */ function my(selection) { @@ -97,8 +97,8 @@ export default function() { .yScale(yScale) .zScale(zScale); - // Construct Surface Area Component - const chart = component.surfaceArea() + // Construct Surface Component + const chart = component.surface() .xScale(xScale) .yScale(yScale) .zScale(zScale) diff --git a/src/component.js b/src/component.js index 74106982..1c00e68f 100644 --- a/src/component.js +++ b/src/component.js @@ -4,7 +4,7 @@ import componentBars from "./component/bars"; import componentBarsMultiSeries from "./component/barsMultiSeries"; import componentBubbles from "./component/bubbles"; import componentBubblesMultiSeries from "./component/bubblesMultiSeries"; -import componentSurfaceArea from "./component/surfaceArea"; +import componentSurface from "./component/surface"; import componentViewpoint from "./component/viewpoint"; import componentRibbon from "./component/ribbon"; @@ -15,7 +15,7 @@ export default { barsMultiSeries: componentBarsMultiSeries, bubbles: componentBubbles, bubblesMultiSeries: componentBubblesMultiSeries, - surfaceArea: componentSurfaceArea, + surface: componentSurface, viewpoint: componentViewpoint, ribbon: componentRibbon }; diff --git a/src/component/axis.js b/src/component/axis.js index 43a7f776..69c21601 100644 --- a/src/component/axis.js +++ b/src/component/axis.js @@ -1,7 +1,7 @@ import * as d3 from "d3"; /** - * Reusable 3D Axis + * Reusable 3D Axis Component * * @module */ diff --git a/src/component/axisThreePlane.js b/src/component/axisThreePlane.js index 762adf58..e3641b40 100644 --- a/src/component/axisThreePlane.js +++ b/src/component/axisThreePlane.js @@ -2,7 +2,7 @@ import * as d3 from "d3"; import componentAxis from "./axis"; /** - * Reusable 3D Multi Plane Axis + * Reusable 3D Multi Plane Axis Component * * @module */ diff --git a/src/component/bars.js b/src/component/bars.js index 9e79d612..a21b2921 100644 --- a/src/component/bars.js +++ b/src/component/bars.js @@ -2,7 +2,7 @@ import * as d3 from "d3"; import dataTransform from "../dataTransform"; /** - * Reusable 3D Bar Chart + * Reusable 3D Bar Chart Component * * @module */ diff --git a/src/component/barsMultiSeries.js b/src/component/barsMultiSeries.js index cf116035..1e81d8a6 100644 --- a/src/component/barsMultiSeries.js +++ b/src/component/barsMultiSeries.js @@ -3,7 +3,7 @@ import dataTransform from "../dataTransform"; import componentBars from "./bars"; /** - * Reusable 3D Multi Series Bar Chart + * Reusable 3D Multi Series Bar Chart Component * * @module */ diff --git a/src/component/bubbles.js b/src/component/bubbles.js index 670509c6..ba03eb29 100644 --- a/src/component/bubbles.js +++ b/src/component/bubbles.js @@ -1,7 +1,7 @@ import * as d3 from "d3"; /** - * Reusable 3D Bubble Chart + * Reusable 3D Bubble Chart Component * * @module */ diff --git a/src/component/bubblesMultiSeries.js b/src/component/bubblesMultiSeries.js index 7b15b0a0..01e09d57 100644 --- a/src/component/bubblesMultiSeries.js +++ b/src/component/bubblesMultiSeries.js @@ -3,7 +3,7 @@ import dataTransform from "../dataTransform"; import componentBubbles from "./bubbles"; /** - * Reusable 3D Multi Series Bubble Chart + * Reusable 3D Multi Series Bubble Chart Component * * @module */ diff --git a/src/component/ribbon.js b/src/component/ribbon.js index 2c283136..2340631d 100644 --- a/src/component/ribbon.js +++ b/src/component/ribbon.js @@ -2,7 +2,7 @@ import * as d3 from "d3"; import dataTransform from "../dataTransform"; /** - * Reusable 3D Ribbon Chart + * Reusable 3D Ribbon Chart Component * * @module */ diff --git a/src/component/surfaceArea.js b/src/component/surface.js similarity index 98% rename from src/component/surfaceArea.js rename to src/component/surface.js index d9103146..26f75640 100644 --- a/src/component/surfaceArea.js +++ b/src/component/surface.js @@ -2,7 +2,7 @@ import * as d3 from "d3"; import dataTransform from "../dataTransform"; /** - * Reusable 3D Surface Area + * Reusable 3D Surface Area Component * * @module */ @@ -11,7 +11,7 @@ export default function() { /* Default Properties */ let dimensions = { x: 40, y: 40, z: 40 }; let colors = ["blue", "red"]; - let classed = "x3dSurfaceArea"; + let classed = "x3dSurface"; /* Scales */ let xScale; @@ -63,7 +63,7 @@ export default function() { * Constructor * * @constructor - * @alias surfaceArea + * @alias surface * @param {d3.selection} selection - The chart holder D3 selection. */ function my(selection) { diff --git a/src/component/viewpoint.js b/src/component/viewpoint.js index a8f09768..fed357e4 100644 --- a/src/component/viewpoint.js +++ b/src/component/viewpoint.js @@ -1,7 +1,7 @@ import * as d3 from "d3"; /** - * Reusable X3DOM Viewpoint + * Reusable X3DOM Viewpoint Component * * @module */