Create a generic graph component 'interface' and implement that interface in vega, d3, and sigmajs. At this point, I'm really not sure what will be the best technology to use, so implement all three. We may only end up keeping one and making it the official "@ngx-dino/graph" or keep them as "@ngx-dino/graph-{d3,vega,sigmajs}".
Interface would roughly be:
Streams:
nodeStream
edgeStream
Inputs:
node{Color, Shape, Size, Opacity, Tooltip, TBD}
edge{Color, Shape, Size, Opacity, Tooltip, TBD}
Outputs:
nodeClick
edgeClick
This may expand and I'm open to suggestions, but this component will be really useful in making new graph-based visualizations and should move a lot of the cruft needed for each of the 3 different top technologies.
Create a generic graph component 'interface' and implement that interface in vega, d3, and sigmajs. At this point, I'm really not sure what will be the best technology to use, so implement all three. We may only end up keeping one and making it the official "@ngx-dino/graph" or keep them as "@ngx-dino/graph-{d3,vega,sigmajs}".
Interface would roughly be: Streams:
Inputs:
Outputs:
This may expand and I'm open to suggestions, but this component will be really useful in making new graph-based visualizations and should move a lot of the cruft needed for each of the 3 different top technologies.