Comments (7)
Cool example!
I'd consider adding a border or background to the visualization so that the reinterpretation of mousewheel (for scrolling) is more obvious. I've also been thinking that, given the trouble of mousewheel, maybe we should use click to zoom (rather than dblclick), in conjunction with a smooth animation? Maybe toggle between two zoom levels rather than arbitrary zooming.
from d3.
Border added now, thanks!
The problem with click to zoom is that it kind of conflicts with drag to pan. I guess you can distinguish a click from a drag though. I'll think about it...
from d3.
Right, a click without moving the mouse would zoom (on mouseup) while a click and drag would pan.
from d3.
Sounds good. I think people may still want the mousewheel behaviour for arbitrary zooming though. Just having two zoom levels might be a bit restrictive? I guess my mathematical demos are more suited for arbitrary zooms, but actual data visualisations may only need two zoom levels.
from d3.
Right, well you could support multiple discrete zoom levels, with each click zooming in further (and shift-click zooming out). But yeah, maybe we want different behaviors, or different modes on the zoom behavior.
I really, really like this method of interaction (two-directional trackpad mousewheel for panning):
from d3.
Wow, the two-directional trackpad thing is awesome! Okay, totally sold on this now :-)
Now we just need to support those nifty pinch gestures :-)
from d3.
Well, I'm not sure pinch gestures on trackpads are that usable. Of course, if we detect an iDevice in use it's a different matter.
from d3.
Related Issues (20)
- Add harmonic mean and geometric mean HOT 1
- API doc links in example notebooks still point to README HOT 5
- searching “range” or “extent” doesn't find the expected page
- How to build this chart
- d3.min and d3.least don't always ignore nulls HOT 4
- Adopt a monorepo
- grid color not applied for the left axis column number 1
- cycle at stratify err
- D3 graph into Flutter web
- Remember ui State across reloads HOT 1
- Nodes arrange
- Replace Math.random() with crypto function HOT 4
- Non english language texts being cut off HOT 4
- Zoom and click on d3 Sankey
- What does mean the sample code?
- #How to remove spaces between bar in d3.js grouped bar chart.
- d3 hierarchy: node visibility parameter to control either to show node in visualization or hide it.
- the wrong parameter name at Binning data of d3-array documentation HOT 5
- Upgrading from v3 to v7 requires additional renders for my custom gauge
- Making a non-contiguous piechart
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.