Comments (2)
Thanks for the quick response! The rank operator is exactly what I needed for the ordering. Can't believe I missed it in the api docs.
The date ordering issue was actually far higher priority than lane preference. I think I will tackle the lane operator down the road, and if I do wind up writing a new lane operator that seems generally useful, I'll be sure to submit a PR.
Really appreciate the help.
from d3-dag.
No dumb questions, and yes, this is possible! d3-dag is written to be modular, so almost any piece can be swapped out for your own code, but sometimes that might mean a lot of extra work. For your questions it's a mixed bag.
- ordering - the grid operator has an optional
rank
accessor that can be used to specify how to order things. For your case it should be something likegrid().rank(node => node.data.commitTime)
. The rank need to be a number since typescript doesn't have a good way of specifying orderability, but you should be able to convert to a unix timestamp if its in some other format. - lane - the lane assignment is also its own functionality that can be pulled out. and updated as
grid().lane(...)
. However, lane operators are more difficult to write. From your description, you probably want to use something like the single sided lane indexer here. However, the tweaks necessary to get the main branch to always be lane 0 (1), might necessitate rewriting lane, which is most of the layout anyway and therefore might be easy to just spin everything up yourself. However, if you can think of a nice way to upstream the change in a way that's pretty general, or builds nicely off of the existing operators I'd welcome it.
from d3-dag.
Related Issues (20)
- Basic TypeScript type check error HOT 6
- Tips for writing my own layering HOT 2
- Specific key order appears to cause decrossOpt to hang HOT 4
- TS: Errors with typescript version 4.9.4 HOT 3
- example code not runable HOT 4
- How to plot a horizonal sugiyama graph HOT 1
- Guidance on Implementing Radial Drawing with d3-dag's Sugiyama Algorithm HOT 3
- Implement Brandes/Kรถpf Coordinate Assignment
- Expand d3-dag to handle multiple paths from parent->child HOT 4
- Dynamic nodeSize? HOT 1
- TS, export SugiNode<NodeDatum = unknown, LinkDatum = unknown> ? HOT 3
- TS Sugestion(?) HOT 4
- Possible linking bug in docs HOT 3
- elkjs, external layout algorithms? HOT 1
- is it possible to establish node order explicitly in grid? HOT 8
- Support for TypeScript <4.5
- How to extend DagNode in vanilla js? HOT 6
- Error: size of dag to decrossOpt is too large and will likely crash instead of complete, enable "large" grahps to run anyway HOT 9
- Layout direction HOT 2
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-dag.