Fixing issue #190. Changing logic inside scatterChart.js

so that scatter.xDomain and yDomain are not altered
unless xPadding and yPadding are non-zero.
master
Robin Hu 11 years ago
parent cdb7e3e271
commit 9770970f79

@ -232,29 +232,35 @@ nv.models.scatterChart = function() {
.height(availableHeight)
.color(data.map(function(d,i) {
return d.color || color(d, i);
}).filter(function(d,i) { return !data[i].disabled }))
.xDomain(null)
.yDomain(null)
}).filter(function(d,i) { return !data[i].disabled }));
if (xPadding !== 0)
scatter.xDomain(null);
if (yPadding !== 0)
scatter.yDomain(null);
wrap.select('.nv-scatterWrap')
.datum(data.filter(function(d) { return !d.disabled }))
.call(scatter);
//Adjust for x and y padding
if (xPadding) {
if (xPadding !== 0) {
var xRange = x.domain()[1] - x.domain()[0];
scatter.xDomain([x.domain()[0] - (xPadding * xRange), x.domain()[1] + (xPadding * xRange)]);
}
if (yPadding) {
if (yPadding !== 0) {
var yRange = y.domain()[1] - y.domain()[0];
scatter.yDomain([y.domain()[0] - (yPadding * yRange), y.domain()[1] + (yPadding * yRange)]);
}
wrap.select('.nv-scatterWrap')
.datum(data.filter(function(d) { return !d.disabled }))
.call(scatter);
//Only need to update the scatter again if x/yPadding changed the domain.
if (yPadding !== 0 || xPadding !== 0) {
wrap.select('.nv-scatterWrap')
.datum(data.filter(function(d) { return !d.disabled }))
.call(scatter);
}
//------------------------------------------------------------

@ -108,7 +108,8 @@ function defaultChartTest(container, data, margin) {
nv.addGraph(function() {
var chart;
chart = nv.models.scatterChart()
.showDistX(true).showDistY(true);
.showDistX(true).showDistY(true)
;
chart.xAxis.tickFormat(d3.format('.02f'));
chart.yAxis.tickFormat(d3.format('.02f'));
if (margin) {

Loading…
Cancel
Save