From 7a410c57ba52ac4a827b210a39ef82840bed83df Mon Sep 17 00:00:00 2001 From: Robin Hu Date: Mon, 4 Nov 2013 10:09:12 -0500 Subject: [PATCH] [multibar horizontal] added showXAxis and showYAxis option to chart. --- nv.d3.js | 55 ++++++++++++++++++--------- src/models/multiBarHorizontalChart.js | 55 ++++++++++++++++++--------- 2 files changed, 74 insertions(+), 36 deletions(-) diff --git a/nv.d3.js b/nv.d3.js index da31eea..1c2b68d 100644 --- a/nv.d3.js +++ b/nv.d3.js @@ -8972,6 +8972,8 @@ nv.models.multiBarHorizontalChart = function() { , color = nv.utils.defaultColor() , showControls = true , showLegend = true + , showXAxis = true + , showYAxis = true , stacked = false , tooltips = true , tooltip = function(key, x, y, e, graph) { @@ -9173,30 +9175,35 @@ nv.models.multiBarHorizontalChart = function() { //------------------------------------------------------------ // Setup Axes - xAxis - .scale(x) - .ticks( availableHeight / 24 ) - .tickSize(-availableWidth, 0); + if (showXAxis) { + xAxis + .scale(x) + .ticks( availableHeight / 24 ) + .tickSize(-availableWidth, 0); - g.select('.nv-x.nv-axis').transition() - .call(xAxis); + g.select('.nv-x.nv-axis').transition() + .call(xAxis); - var xTicks = g.select('.nv-x.nv-axis').selectAll('g'); + var xTicks = g.select('.nv-x.nv-axis').selectAll('g'); - xTicks - .selectAll('line, text') - .style('opacity', 1) + xTicks + .selectAll('line, text') + .style('opacity', 1); + } - yAxis - .scale(y) - .ticks( availableWidth / 100 ) - .tickSize( -availableHeight, 0); + if (showYAxis) { + yAxis + .scale(y) + .ticks( availableWidth / 100 ) + .tickSize( -availableHeight, 0); + + g.select('.nv-y.nv-axis') + .attr('transform', 'translate(0,' + availableHeight + ')'); + g.select('.nv-y.nv-axis').transition() + .call(yAxis); + } - g.select('.nv-y.nv-axis') - .attr('transform', 'translate(0,' + availableHeight + ')'); - g.select('.nv-y.nv-axis').transition() - .call(yAxis); //------------------------------------------------------------ @@ -9341,6 +9348,18 @@ nv.models.multiBarHorizontalChart = function() { return chart; }; + chart.showXAxis = function(_) { + if (!arguments.length) return showXAxis; + showXAxis = _; + return chart; + }; + + chart.showYAxis = function(_) { + if (!arguments.length) return showYAxis; + showYAxis = _; + return chart; + }; + chart.tooltip = function(_) { if (!arguments.length) return tooltip; tooltip = _; diff --git a/src/models/multiBarHorizontalChart.js b/src/models/multiBarHorizontalChart.js index 3635c9e..5cd3da3 100644 --- a/src/models/multiBarHorizontalChart.js +++ b/src/models/multiBarHorizontalChart.js @@ -18,6 +18,8 @@ nv.models.multiBarHorizontalChart = function() { , color = nv.utils.defaultColor() , showControls = true , showLegend = true + , showXAxis = true + , showYAxis = true , stacked = false , tooltips = true , tooltip = function(key, x, y, e, graph) { @@ -219,30 +221,35 @@ nv.models.multiBarHorizontalChart = function() { //------------------------------------------------------------ // Setup Axes - xAxis - .scale(x) - .ticks( availableHeight / 24 ) - .tickSize(-availableWidth, 0); + if (showXAxis) { + xAxis + .scale(x) + .ticks( availableHeight / 24 ) + .tickSize(-availableWidth, 0); - g.select('.nv-x.nv-axis').transition() - .call(xAxis); + g.select('.nv-x.nv-axis').transition() + .call(xAxis); - var xTicks = g.select('.nv-x.nv-axis').selectAll('g'); + var xTicks = g.select('.nv-x.nv-axis').selectAll('g'); + + xTicks + .selectAll('line, text') + .style('opacity', 1); + } - xTicks - .selectAll('line, text') - .style('opacity', 1) + if (showYAxis) { + yAxis + .scale(y) + .ticks( availableWidth / 100 ) + .tickSize( -availableHeight, 0); - yAxis - .scale(y) - .ticks( availableWidth / 100 ) - .tickSize( -availableHeight, 0); + g.select('.nv-y.nv-axis') + .attr('transform', 'translate(0,' + availableHeight + ')'); + g.select('.nv-y.nv-axis').transition() + .call(yAxis); + } - g.select('.nv-y.nv-axis') - .attr('transform', 'translate(0,' + availableHeight + ')'); - g.select('.nv-y.nv-axis').transition() - .call(yAxis); //------------------------------------------------------------ @@ -387,6 +394,18 @@ nv.models.multiBarHorizontalChart = function() { return chart; }; + chart.showXAxis = function(_) { + if (!arguments.length) return showXAxis; + showXAxis = _; + return chart; + }; + + chart.showYAxis = function(_) { + if (!arguments.length) return showYAxis; + showYAxis = _; + return chart; + }; + chart.tooltip = function(_) { if (!arguments.length) return tooltip; tooltip = _;