Git Product home page Git Product logo

d3-list-graph's Introduction

I'm a computer scientist who develops interactive, intelligent, and insightful visualization systems for analyzing and exploring large-scale biomedical data.

Me · Email · LinkedIn

d3-list-graph's People

Contributors

flekschas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

d3-list-graph's Issues

Sometimes queried nodes get overlayed

When triggering an AND query for a certain term and then rooting another term one level closer to the root the queried AND term gets overlayed and hence is invisible.

Scroll to parents or children button

Add a button to the left and right of each node that will trigger auto-scrolling to the node's parents or children in case they are not directly visible.

Scrolled column not rendered after sorting

Reproduce:

  1. Scroll one column
  2. Sort entire graph by precision

Outcome:

  • Only previously visible nodes are still visible
  • Others are visible only after a re-rendering is triggered

jul-12-2017 16-30-06

Idea:

  • Must have to do with the viewport-specific rendering, i.e., the nodes that are visible and should be rendered are probably determined before and not after the sorting.

When zooming out the full container width should be used

Currently, the zoom-out merely adjust the viewBox of the main svg container. This is a pretty simple method but doesn't utilize the whole width of the container. Nodes could be drawn further away from each other and edge bundling could come nicely into play to should hubs for example.

Elements outside of the current view should be hidden

Drawing elements that are not seen harm the performance for no good reason. Instead a few helper rectangles with opacity zero could be used as placeholders and other elements can be drawn when the view changes due to horizontal dragging or scrolling.

Hide links that go out of the panel

Currently many links lead to visual clutter. Instead, links that point to a node outside the visible panel should not be shown and rather be indicated somehow.

Allow links over multiple levels

Allowing links over multiple levels would make clones obsolete, reduce clutter and increase topology recognition. Instead of drawing nodes with multiple parents closest to the root they could be drawn farthest from it. Links / Edge could be bundled and move between nodes.

Make cloned nodes expandable

Cloned nodes should have a way to expand the hidden subtree. This is important when the original node (closest to the absolute root) is hidden, for example by re-rooting. During re-rooting the closest clone could get expanded automatically in case the original node got hidden.

Show pruned path

Show when the path to the parent or child node had been pruned due to empty annotation sets.

Fix sorting

Currently the ascending sorting is broken.

Close node context menu when nodes are re-sorted.

Usually when one queries by nodes, the nodes get resorted based on the new precision or recall value. Either the node context menu's position needs to be updated or the menu should be closed when this happens.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.