|
|
|
@ -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;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|