|
|
|
|
|
by azundo
4898 days ago
|
|
It's useful to know how to manage this situation when you have zooming enabled as well, as sometimes you want to zoom and pan in the x direction within limits. In this case you might go outside of your bounds with a zoom operation, so translate won't be reliable when zooming too far out (as your domain will be larger than your data bounds) so you'll have to limit the domain instead. // assuming xlowerlimit and xupperlimit variables.
var currentDomain = svg.x.domain();
var xinterval = currentDomain[1] - currentDomain[0];
if (currentDomain[0] < xlowerlimit) {
// if moving outside of lower bound, set min of domain to lower, keeping domain interval the same
svg.x.domain([xlowerlimit, xlowerlimit + xinterval]);
} else if (currentDomain[1] > xupperlimit) {
// if moving outside of upper bound, set max of domain to upper, keeping domain interval the same
svg.x.domain([xupperlimit - xinterval, xupperlimit]);
}
|
|