Comments (3)
Is it something similar to https://blockbuilder.org/Fil/076415313a08e76ae60d468e2cb25909 ?
(related: d3/d3-zoom#222)
from d3-brush.
@Fil yes it's very much similar implementation.
That example is triggering zoom in similar fashion by context.select(".brush").call(brush.move, x.range().map(t.invertX, t));
Trying out zooming there with dragging by mouse I can narrow down the zoom level to 4 days span, and then on it jumps somehow to a kind of zero span with label showing ':24' and no actual data drawn... Weird.
from d3-brush.
when you are brushing the selection s can be [387, 387] (it will be nulled when you release the mouse). At this point the code uses x.domain(s.map(x2.invert, x2));
and d3.zoomIdentity.scale(width / (s[1] - s[0]))
and everything breaks on NaN.
A solution is to add a small value to the right-hand-side of the selection so that it's never 0 pixel wide
var s = event.selection || x2.range();
+ s[1] += .5;
or more precisely
var s = event.selection || x2.range();
+ if (s[1] === s[0]) s[1] += .5;
from d3-brush.
Related Issues (20)
- Brush event started does not initiate "points" variable HOT 1
- brush().touchable not a function HOT 2
- Apparent breaking change(s) in non-breaking release HOT 3
- Can't create new brush selection inside extent, only change exsisting one HOT 1
- a brush transition is not interrupted HOT 1
- multitouch HOT 2
- FF android HOT 2
- Allow mousemove event triggering or switching brush state HOT 2
- brush.move should accept an event HOT 1
- Brush Wrapping
- Error multitouch emit undefined inside move function HOT 8
- Brushing uses wrong mouse coordinates if perspective transformations are applied HOT 3
- Is it possible to update d3-color ? HOT 2
- Conflict trying to .filter() with a false value if there is also a d3-zoom active
- incorrect position of the selected area in firefox HOT 2
- Allow to change default to CENTER mode HOT 2
- Errors when using `filter` on mobile HOT 2
- Customize the brush style HOT 2
- Brush handles disappear at zero width HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3-brush.