Fixed multibarHorizontal chart transitionDuration

master
Robin Hu 11 years ago
parent aaf46a48ff
commit 46f0f215ac

@ -26,7 +26,6 @@ nv.models.multiBarHorizontal = function() {
, yDomain
, xRange
, yRange
, transitionDuration = 250
, dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout')
;
@ -140,7 +139,7 @@ nv.models.multiBarHorizontal = function() {
groups.enter().append('g')
.style('stroke-opacity', 1e-6)
.style('fill-opacity', 1e-6);
groups.exit().transition().duration(transitionDuration)
groups.exit().transition()
.style('stroke-opacity', 1e-6)
.style('fill-opacity', 1e-6)
.remove();
@ -149,7 +148,7 @@ nv.models.multiBarHorizontal = function() {
.classed('hover', function(d) { return d.hover })
.style('fill', function(d,i){ return color(d, i) })
.style('stroke', function(d,i){ return color(d, i) });
groups.transition().duration(transitionDuration)
groups.transition()
.style('stroke-opacity', 1)
.style('fill-opacity', .75);
@ -227,12 +226,10 @@ nv.models.multiBarHorizontal = function() {
.attr('y', x.rangeBand() / (data.length * 2))
.attr('dy', '.32em')
.text(function(d,i) { return valueFormat(getY(d,i)) })
bars.transition().duration(transitionDuration)
//.delay(function(d,i) { return i * delay / data[0].values.length })
bars.transition()
.select('text')
.attr('x', function(d,i) { return getY(d,i) < 0 ? -4 : y(getY(d,i)) - y(0) + 4 })
} else {
//bars.selectAll('text').remove();
bars.selectAll('text').text('');
}
@ -242,20 +239,13 @@ nv.models.multiBarHorizontal = function() {
if (barColor) {
if (!disabled) disabled = data.map(function() { return true });
bars
//.style('fill', barColor)
//.style('stroke', barColor)
//.style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker(j).toString(); })
//.style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker(j).toString(); })
.style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); })
.style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); });
}
if (stacked)
bars.transition().duration(transitionDuration)
//.delay(function(d,i) { return i * delay / data[0].values.length })
bars.transition()
.attr('transform', function(d,i) {
//return 'translate(' + y(d.y0) + ',0)'
//return 'translate(' + y(d.y0) + ',' + x(getX(d,i)) + ')'
return 'translate(' + y(d.y1) + ',' + x(getX(d,i)) + ')'
})
.select('rect')
@ -264,8 +254,7 @@ nv.models.multiBarHorizontal = function() {
})
.attr('height', x.rangeBand() );
else
bars.transition().duration(transitionDuration)
//.delay(function(d,i) { return i * delay / data[0].values.length })
bars.transition()
.attr('transform', function(d,i) {
//TODO: stacked must be all positive or all negative, not both?
return 'translate(' +
@ -428,12 +417,6 @@ nv.models.multiBarHorizontal = function() {
return chart;
};
chart.transitionDuration = function(_) {
if (!arguments.length) return transitionDuration;
transitionDuration = _;
return chart;
};
//============================================================

@ -31,6 +31,7 @@ nv.models.multiBarHorizontalChart = function() {
, noData = 'No Data Available.'
, dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState')
, controlWidth = function() { return showControls ? 180 : 0 }
, transitionDuration = 250
;
multibar
@ -79,7 +80,7 @@ nv.models.multiBarHorizontalChart = function() {
availableHeight = (height || parseInt(container.style('height')) || 400)
- margin.top - margin.bottom;
chart.update = function() { container.transition().call(chart) };
chart.update = function() { container.transition().duration(transitionDuration).call(chart) };
chart.container = this;
//set state.disabled
@ -210,7 +211,7 @@ nv.models.multiBarHorizontalChart = function() {
var barsWrap = g.select('.nv-barsWrap')
.datum(data.filter(function(d) { return !d.disabled }))
d3.transition(barsWrap).call(multibar);
barsWrap.transition().call(multibar);
//------------------------------------------------------------
@ -223,7 +224,7 @@ nv.models.multiBarHorizontalChart = function() {
.ticks( availableHeight / 24 )
.tickSize(-availableWidth, 0);
d3.transition(g.select('.nv-x.nv-axis'))
g.select('.nv-x.nv-axis').transition()
.call(xAxis);
var xTicks = g.select('.nv-x.nv-axis').selectAll('g');
@ -240,7 +241,7 @@ nv.models.multiBarHorizontalChart = function() {
g.select('.nv-y.nv-axis')
.attr('transform', 'translate(0,' + availableHeight + ')');
d3.transition(g.select('.nv-y.nv-axis'))
g.select('.nv-y.nv-axis').transition()
.call(yAxis);
//------------------------------------------------------------
@ -420,10 +421,8 @@ nv.models.multiBarHorizontalChart = function() {
};
chart.transitionDuration = function(_) {
if (!arguments.length) return multibar.transitionDuration();
multibar.transitionDuration(_);
xAxis.transitionDuration(_);
yAxis.transitionDuration(_);
if (!arguments.length) return transitionDuration;
transitionDuration = _;
return chart;
};
//============================================================

Loading…
Cancel
Save