|
|
|
@ -1446,20 +1446,6 @@ nv.models.line = function() {
|
|
|
|
|
|
|
|
|
|
d3.rebind(chart, scatter, 'size');
|
|
|
|
|
|
|
|
|
|
chart.x = function(_) {
|
|
|
|
|
if (!arguments.length) return getX;
|
|
|
|
|
getX = _;
|
|
|
|
|
scatter.x(_);
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.y = function(_) {
|
|
|
|
|
if (!arguments.length) return getY;
|
|
|
|
|
getY = _;
|
|
|
|
|
scatter.y(_);
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.margin = function(_) {
|
|
|
|
|
if (!arguments.length) return margin;
|
|
|
|
|
margin = _;
|
|
|
|
@ -1478,6 +1464,20 @@ nv.models.line = function() {
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.x = function(_) {
|
|
|
|
|
if (!arguments.length) return getX;
|
|
|
|
|
getX = _;
|
|
|
|
|
scatter.x(_);
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.y = function(_) {
|
|
|
|
|
if (!arguments.length) return getY;
|
|
|
|
|
getY = _;
|
|
|
|
|
scatter.y(_);
|
|
|
|
|
return chart;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.xDomain = function(_) {
|
|
|
|
|
if (!arguments.length) return xDomain;
|
|
|
|
|
xDomain = _;
|
|
|
|
@ -1591,8 +1591,6 @@ nv.models.linePlusBar = function() {
|
|
|
|
|
lines
|
|
|
|
|
.width(availableWidth)
|
|
|
|
|
.height(availableHeight)
|
|
|
|
|
//.x(getX)
|
|
|
|
|
//.y(getY)
|
|
|
|
|
.color(data.map(function(d,i) {
|
|
|
|
|
return d.color || color[i % 10];
|
|
|
|
|
}).filter(function(d,i) { return !data[i].disabled && !data[i].bar }))
|
|
|
|
@ -2963,7 +2961,8 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
yAxis = nv.models.axis().scale(y).orient('left').tickPadding(10),
|
|
|
|
|
legend = nv.models.legend().height(30),
|
|
|
|
|
scatter = nv.models.scatter(),
|
|
|
|
|
dispatch = d3.dispatch('tooltipShow', 'tooltipHide');
|
|
|
|
|
dispatch = d3.dispatch('tooltipShow', 'tooltipHide'),
|
|
|
|
|
x0, y0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function chart(selection) {
|
|
|
|
@ -2977,6 +2976,9 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
availableWidth = width() - margin.left - margin.right,
|
|
|
|
|
availableHeight = height() - margin.top - margin.bottom;
|
|
|
|
|
|
|
|
|
|
x0 = x0 || x;
|
|
|
|
|
y0 = y0 || y;
|
|
|
|
|
|
|
|
|
|
x .domain(d3.extent(d3.merge(seriesData).map(function(d) { return d.x }).concat(scatter.forceX) ))
|
|
|
|
|
.range([0, availableWidth]);
|
|
|
|
|
|
|
|
|
@ -3030,7 +3032,7 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
//TODO: FIX the dist line rotate on enable/disable series
|
|
|
|
|
if ( showDistX || showDistY) {
|
|
|
|
|
var distWrap = scatterWrap.selectAll('g.distribution')
|
|
|
|
|
.data(function(d) { return d })
|
|
|
|
|
.data(function(d) { return d }, function(d) { return d.key });
|
|
|
|
|
|
|
|
|
|
distWrap.enter().append('g').attr('class', function(d,i) { return 'distribution series-' + i })
|
|
|
|
|
|
|
|
|
@ -3041,8 +3043,8 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
var distX = distWrap.selectAll('line.distX')
|
|
|
|
|
.data(function(d) { return d.values })
|
|
|
|
|
distX.enter().append('line')
|
|
|
|
|
//.attr('x1', function(d,i) { return x0(scatter.x()(d,i)) })
|
|
|
|
|
//.attr('x2', function(d,i) { return x0(scatter.x()(d,i)) })
|
|
|
|
|
.attr('x1', function(d,i) { return x0(scatter.x()(d,i)) })
|
|
|
|
|
.attr('x2', function(d,i) { return x0(scatter.x()(d,i)) })
|
|
|
|
|
//d3.transition(distX.exit())
|
|
|
|
|
d3.transition(distWrap.exit().selectAll('line.distX'))
|
|
|
|
|
.attr('x1', function(d,i) { return x(scatter.x()(d,i)) })
|
|
|
|
@ -3062,8 +3064,8 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
var distY = distWrap.selectAll('line.distY')
|
|
|
|
|
.data(function(d) { return d.values })
|
|
|
|
|
distY.enter().append('line')
|
|
|
|
|
//.attr('y1', function(d,i) { return y0(scatter.y()(d,i)) })
|
|
|
|
|
//.attr('y2', function(d,i) { return y0(scatter.y()(d,i)) });
|
|
|
|
|
.attr('y1', function(d,i) { return y0(scatter.y()(d,i)) })
|
|
|
|
|
.attr('y2', function(d,i) { return y0(scatter.y()(d,i)) });
|
|
|
|
|
//d3.transition(distY.exit())
|
|
|
|
|
d3.transition(distWrap.exit().selectAll('line.distY'))
|
|
|
|
|
.attr('y1', function(d,i) { return y(scatter.y()(d,i)) })
|
|
|
|
@ -3074,8 +3076,7 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
.attr('x1', x.range()[0])
|
|
|
|
|
.attr('x2', x.range()[0] - 8)
|
|
|
|
|
d3.transition(distY)
|
|
|
|
|
.attr('y1', function(d,i) { return y(scatter.y()(d,i)) })
|
|
|
|
|
.attr('y2', function(d,i) { return y(scatter.y()(d,i)) });
|
|
|
|
|
.attr('y1', function(d,i) { return y(scatter.y()(d,i)) }) .attr('y2', function(d,i) { return y(scatter.y()(d,i)) });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3159,6 +3160,11 @@ nv.models.scatterWithLegend = function() {
|
|
|
|
|
.attr('x1', x.range()[0]);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//store old scales for use in transitions on update, to animate from old to new positions, and sizes
|
|
|
|
|
x0 = x.copy();
|
|
|
|
|
y0 = y.copy();
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return chart;
|
|
|
|
|