CA2097232C - Displaying partial graphs by expanding and collapsing nodes - Google Patents
Displaying partial graphs by expanding and collapsing nodesInfo
- Publication number
- CA2097232C CA2097232C CA002097232A CA2097232A CA2097232C CA 2097232 C CA2097232 C CA 2097232C CA 002097232 A CA002097232 A CA 002097232A CA 2097232 A CA2097232 A CA 2097232A CA 2097232 C CA2097232 C CA 2097232C
- Authority
- CA
- Canada
- Prior art keywords
- nodes
- node
- graph
- collapsed
- accordance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Abstract
Complex graphs are difficult to display legibly on computer display screens. Attempts have been made in the prior art to collapse or truncate the graphs so as to only display portions of the graph. However, these prior art processes have not been effective in dealing with cyclic or acyclic graphs. The present invention overcomes these problems of the prior art by providing a process in which all nodes affected by the truncation operation are identified and are only removed from the portion of the graph being displayed when their removal will not result in displaying incorrect or false information. The process consists of viewing all nodes interconnected either directly or indirectly to any node selected for collapse or truncation.
Description
CA9-93-011 1 2~97232 DISPLAYING PARTIAL GRAPEIS BY E~PANDING
AND COLLAPSING NODES
Technical Field -This invention relates to display generation, and more -~
specifically, to the display of portions of large graphs of interconnected labeled nodes developed by a programmed computer system. The generated displays may include both full and partial, or skeletal, portions of the complex interconnected labeled nodes.
Backqround Art -Computer systems can store vast amounts of information.
Often this information takes the form of complex graphs. For example, in the design of computer or telecommunication systems or networks, a computer can be useful in determining the most efficient design or investigating aspects of a design. However, such systems or networks, if displayed in their entirety on a computer screen, would provide a display where the individual elements or nodes of the system become illegible. Obviously, such an illegible display would not be helpful when examining a small group of nodes. It i~
essential that selected portions of the system or network be displayed in legible form. This might be done by simply scaling or magnifying the graph. However, simple scaling has serious drawbacks. It will result in large portions of the graph becoming invisible to the viewer. This would only be acceptable to the user where the invisible portions are not of interest. This is often not the case as the nodes and interconnections of interest are frequently not located in close proximity within the graph. Therefore, it is also ;
necessary to be able to select disparate portions of the graph to be legibly displayed.
One way in which this has been done in the past is to simply collapse or truncate the arcs and nodes around selected nodes. Collapsing or truncating nodes in the context of the .
present invention means that the nodes and possibly, arcs associated with those nodes within the graph, are not ~, displayed on the computer screen. Expanding of nodes is essentially the reverse operation where previously collapsed nodes and arcs are selected for display. This collapsing of nodes enables selected nodes to be displayed legibly while suppressing the display of related information which is not of current interest. One approach that uses this technique is described in United States Patent 4,613,946 to E. H.
Forman which describes a process where portions of tree structures are collapsed so that portions of interest are more visible. Other portions of the structure are only skeletally displayed. Forman's techniques work well with normal tree structures having only descending branches, however, they will not work effectively with structures which include cyclic, acyclic or other types of graphs.
A typical problem encountered when displaying large graphs of interconnected labeled nodes is that the graph is too large to be displayed meaningfully within the limited screen space available in the computer system. A graph can, of course, be scaled down to make all of its nodes fit the screen but then the nodes become too small to display their labeling text. Similarly, a graph can be scaled up to make the nodes large enough to display their labeling text. In this case, the interconnections to nodes that do not fit on the screen will be obscured.
United States Patent 4,953,106 to Gansner et al describes techniques for efficiently drawing directed graphs. While the patent is not directed at, nor is it concerned with, displaying only portions of these graphs, it is help!ful in providing insight into the technical complexities of such diagrams. Often, there is a need to display only portions of these graphs. The techniques described by Forman could not be used with Gansner et al because the cyclic interconnection information in the directed graphs would be misinterpreted. The present invention avoids this problem.
Summary of the Invention The present invention provides a method for selectively displaying portions of complex graphs including trees, ' CA9-9~-011 3 2097232 directed acyclic graphs and cyclic graphs on a computer di~play screen while retaining information concerning all nodal interconnections so that the graph information can be recalled correctly as required. The method involves collecting and analyzing relevant interconnection information concerning a node or nodes to be collapsed or expanded and displaying elements of that interconnect information while retaining all information needed to display any obscured or hidden portions of the graph when required. The invention further provides the ability to tailor a screen to show any desired disparate portions of a single graph or a plurality of graphs on the display. Nodes can be selectively pruned from or grafted onto the display in any arrangement desired by the user.
Our invention provides a process for selectively modifying a display of graphical information on a computer screen. The process consists of selecting at least one node on the graph for modification, identifying all the nodes connected to each selected node and assigning each identified node to a first set of nodes. A second set of nodes is created. The second set is initially empty. Each node is removed from the first set of nodes and assigned to the second set of nodes.
All nodes connected to each removed node are identified and compared to nodes already stored in the first set of nodes.
Where the nodes are not found in the first set of nodes, the nodes are added to the second set of nodes. The steps of removing and identifying all connected nodes are repeated until the first set of nodes is empty.
Our invention is directed to a method for selectively modifying a display of graphical information on a computer display screen. At least one node displayed on the screen is selected for modification. All nodes connected to each at least one selected node are identified and all nodes connected to each identified node are also identified. All identified nodes are deleted from the display when the identified node is below the selected node. Each node connected to a deleted node is highlighted on the display.
.
Our invention is also directed to modifying a display of graphical information on a computer display screen wherein identified nodes can be added to the display when an identified node is not already displayed.
Our solution for collapsing and expanding the children and parents of a node operates correctly and consistently for all types of graphs.
Brief Description of the Drawinqs Figure 1 illustrates a display on a computer screen where a selected node is highlighted.
Figure 2 illustrates a screen display where the node highlighted in Figure 1 is collapsed.
Figure 3 illustrates a screen display where the scale of the displayed elements has been magnified.
Figure 4 illustrates a computer screen display of a collapsed node.
Figure 5A illustrates a computer screen display of a structure having acyclic nodes.
Eigure 5B illustrates a screen display of the structure of Figure 5A when the selected node is collapsed. ;~
F_gure 6A illustrates a computer screen display of a s~ructure having cyclic nodes with a selected node.
Figure 6B illustrates a screen display of the structure of Flgure 6B when all reachable nodes from the selected node are collapsed.
Figure 7A illustrates a computer screen display of a structure having cyclic nodes with a selected node.
:
C~9-93-011 5 2097232 Figure 7B illustrates a screen display of the structure of Figure 7B when only descendants from the selected node are collapsed.
Figure 8A illustrates a computer screen display of a cyclic graph structure. ~-Figure 8B illustrates a screen display of the cyclic graph ;-structure of Figure 8A when the selected node is collapsed.
Figure 9 is a flow diagram of the process for determining the transitive closure for a node in a graph.
Figure 10 is a flow diagram of the process for collapsing nodes associated with a selected node.
Figure 11 is a flow diagram of the process for expanding nodes associated with a selected node.
:
Detailed Description of the Invention ;; ~' Figure 1 shows a graph that is too large for the label text to be displayed legibly. In this Figure 1, the node albl is highlighted and identified in the Selection status line shown near the top of the screen. This partially alleviates the problem of not being able to read a node's label text as the status line displays the label text of the selected node. This status line allows the user to determine the label of a node without scaling the graph. If the size of the display on the screen remains unmodified, it would be necessary to highlight each node individually to identify the nodal relationships being portrayed in the structure.
The present invention provides a more direct approach for obtaining otherwise obscured nodal and interconnection information.
, Figure 2 shows the same graph, as shown in Figure 1, with the children of node albl removed. By removing the children of node albl from the graph shown in Figure 1, it is now possible to enlarge each of the remaining nodes so the labels on each displayed node are legible without moving CA9-93-011 20972~2 some of the nodes off the screen, as is illustrated in Figure 3 where the size of the graph has simply been enlarged.
In Figure 2, an outline box is created around the collapsed node albl to indicate there are children associated with node albl that are not displayed in the graph. This indication distinguishes nodes, such as node albl in Figure 2, that are candidates for subsequent expansion.
The graph displayed in Figure 2, where all nodes displayed now have legible labels, cannot be obtained simply by scaling the graph in Figure 1. Figure 3 shows the effect of scaling the graph in Figure 1 to enable the labelling of the nodes to be legible. As is readily apparent, some of the nodes are no longer visible on the screen.
Another way of indicating a collapsed node is to leave its outgoing arcs intact and to hide its attached children. For example, Figure 4 shows the graph of Figure 1 collapsed at the root node al. The outgoing arcs remain but the children are invisible. This view visually indicates the number of mis~ing children ~e.g., three in this instance), but it is ~;
not as compact as just marking the collapsed node with a box. -Many other graphical techniques could be used to distinguish collapsed nodes. For example, changing the shape of the node, or drawing a single outgoing arc with a label indicating the numb;er of children could be used.
The examples illustrated in Figures 1 through 4 are simple tree structures which could readily be collapsed or truncated using techniques already taught in the art.
However, our invention enables the user to not only acceptabl~ collapse these simple tree structures but also collapse graph structures which may be acyclic or cyclic.
The simple acyclic and cyclic graphs shown in Figures 5A
through 8B will help demonstrate the ability our process has for collapsing selected portions of any type of graph.
To illustrate the utility of our invention we have selected a display that includes a graph with nodes connected by directed arcs. Figures 5A and SB show a structure including an acyclic graph while Figures 6A through 8B show a structure including a cyclic graph. In these Figures, the graph layout procedure generally tries to place the source or parent nodes above their target or children nodes on the display screen. United States Patent 4,953,106 describes one technique for devising a layout for a complex directed graph. Where the graph includes undirected arcs, each undirected arc is replaced with two directed arcs pointing in opposite directions. Of course, any other convention could be used to display the graphs and the present invention would be equally applicable to those conventions with only the obviously necessary modifications to take into account the difference in the convention used. In general, our invention will work for any type of layout.
: .:
A collapse/expand procedure for a general directed graph can be devised as follows. When a node x is to be collapsed, each node that is below x in the current layout (i.e., has a y coordinate that is less than that of x) and can be reached from x by traversing arcs from source to target is removed from the graph. Similarly, when a node x is to be expanded, each node that can be reached from x by traversing arcs from source to target is added to the graph. In addition, a node x can be expanded by n levels by adding to the graph each node that can be reached from x by a path consisting of at most n arcs. Figure 5 shows the collapse procedure applied to a graph which is not a tree. In a left-to-right layout, where the graph is rotated 90 degrees in the counter-clockwise direction, only the nodes to the right of x, those having an x coordinate greater than that of x, are considered for collapsing.
The collapse/expand procedure given above can be used to collapse and expand the children of a node. However, it can be easily revised to support the collapsing and expanding of the parents of a node by conceptually reversing both the direction of the arcs being considered and the above/below relation between nodes in the current layout. Using a -- :, combination of the collapse/expand procedures for children and for parents, a user can shrink or grow his graph to suit the amount of in~ormation he wishes available at any given point.
It is important to note that the above procedures apply for general graphs which may contain cycles. Figure 8 shows the procedure applied to a cyclic graph. Computing the solution for graphs that are trees is simple. Computing it for acyclic graphs is also simple, but redundant calculations may arise for nodes that are reachable along more than one path. Computing it for cyclic graphs must be done carefully to ensure that the implementation of the procedure terminates and does not go into an infinite loop.
.., ~ .-, Looping and redundant calculations can be avoided by computing the set of nodes to be collapsed for a node x by creating two sets of nodes. The first set is set sl, the set of nodes to be removed from the graph. The second set is the set B2, the ~et of nodes to be considered. Initially, set sl is empty and set S2 contains the direct children of x. A
node y i8 removed from set s2 and is included in set sl , and each child of the moved node y that is not already included in set sl is now added to set s2. This process is repeated until the set s2 is empty. The set sl now includes all the nodes which can be deleted under the selected node x. This process ensures that every node is considered only once.
.
Figure 9 illustrates, by means of a flow diagram, the process by which nodes are deleted. A location is selected to store the first set of nodes sl as indicated at step 2 on Figure 9. Initially, there are no nodes in the first set of nodes sl but ultimately the set sl will contain the nodes which are not to be displayed. A second set of nodes 82 iS stored in a second location as indicated at step 3 in Figure 9. This second set of nodes is filled with the nodes of all the children of the node x that has been selected for display. For example, for the graph shown in Figure 2, if the node al were selected, the nodes albl, alb2 and alb3 ~ould be in set S2 . The children of a node are all nodes '~
:' directly connected to the selected node ~y an outgoing arc.
The first step in the logical process of determining the nodes which are to be suppressed from di~play is to determine whether there are any children nodes of the selected node x as indicated at step 4 in Figure 9. In step 4, each child node stored in set s2 is individually removed from the set s2 as indicated at step 5 in Figure 9. The removed child nodes are put in node set sl . Next, all the children of the node y transferred to set sl (step 6) are identified (step 7) and stored into node set s2 unless they are already stored in node set sl (step 8). The steps illustrated at 4 through 8 in Figure 9 are repeated until the node set s2 is empty. At this point the node set stored in sl represents the nodes that are reachable from the node x that is to be displayed (i.e~, those nodes that can be reached by traversing arcs from source to target nodes starting at node x) as indicated in step 9.
., Figure 9 can also be used to illustrate the transitive closure relationship of the parent nodes to a node x. In this situation, the set assigned to set s2 would be the parent nodes of node x instead of the children nodes at step 3 and the children of y at step 7 would be the parents of y.
Once the nodes associated with the selected node x have been determined it is now possible to either collapse or expand the nodes to be displayed on the computer screen depending on the users requirements.
Figure 10 illustrates how one would collapse the display below the selected node x. Initially the set of nodes reachable by child relations of node x have been determined through the transitive closure operation described with reference to Figure 9 as indicated in step 9. These nodes are now stored set sl as indicated step 21 in Figure 10.
The first step in collapsing the nodes currently displayed is to determine whether there are any nodes in set sl as shown at step 22. If there are nodes in set sl , they are removed from the set, as shown at step 23. As each node z is removed from set sl it is examined at step 24 to determine its level in the graph relative to selected node x. Those i .
nodes which are at a lower level in the graph than the selected node x are deleted from the current graph layout at step 25. Those nodes at a higher level than the selected node x are retained. The actual display is modified to provide an indication of these conditions. Where a node z is at a lower level than the selected node x, any node having z as a child or parent will be marked as collapsed.
When the set ~1 has been emptied, it is necessary to determine how the collapsed graph is to be displayed. For example, it may be desirable to display arcs from the selected node x to its deleted children so that the collapsed graph does not leave the impression that the node x is a terminating node. As shown in Figure 10, a determination is made at step 26 to determine whether arcs to deleted children or from deleted parents are to be displayed and how collapsed nodes are to be displayed. If the decision is not to display arcs, then all arcs to deleted children or from parents in the current graph layout are deleted as indicated at step 27. As shown at step 28, if the arcs are to be retained, those arcs directed from a deleted parent to a deleted child must still be deleted since their retention would convey false information to the viewer.
When step 27 or 28 has been completed, it may be desirable to highlight the node x in some fashion so that it is clearly recognizable on the screen as a node that has interconnections that are not fully shown in the portion of the graph displayed. As shown at step 29, any node with a deleted parent or child node is marked with an outline box.
As illustrated in the examples in Figure~ 2, 4, 5B, 6B, 7B
or 8B, the collapsed node x is surrounded by an outline box.
Finally, the modified information can be relayed and the modified graph displayed on the computer screen as indicated by step 30. Figure 6B shows the results of this procedure applied to the graph shown in Figure 6A where all reachable nodes of the selected node are collapsed and arcs to deleted children or from a deleted parent are not displayed.
":
:
CA9-93-011 ll 2097232 It should be noted that the procedure described in Figure 10 can also be applied in the situation where it is desired to collapse the parents of selected node x rather than the children. In this case, the procedure works with the set sl applying to the parents of node x ~nd step 24 would consider nodes higher in the graph. One way to do this would be to conceptually reverse all the arcs of the graph and draw it upside down so the parents now become children.
Figure 11 shows, schematically, the situation where it is desired to expand the display to show all the children of a selected node x. The first step is to identify all the nodes reachable by child relations from the selected node x. All these nodes are collected in a set sl as indicated at step 41 in Figure 11. Once the set sl is stored, it is then examined at step 42 to determine whether the set is empty.
The set sl for the node x is the same set sl as was determined for the transitive closure in Figure 9.
All the elements z in set sl are removed from the set sl as shown at step 43. As the elements are removed they are added to the current screen layout as shown at step 44. The steps 42, 43 and 44 are repeated until the set sl is empty.
At this point a decision is required as to whether arcs to deleted children or from deleted parents are to be displayed as indicated at step 45. If the arcs are not to be displayed then only those arcs that have both parent and child visible in the current screen layout are added to the layout as indicated at step 46. If the arcs to deleted children or from parents are to be displayed then all the arcs from parents or to children visible in the layout are added as indicated at step 47.
When step 46 or 47 has been completed, it may be desirable to highlight the node x in some fashion so that it is clearly recognizable on the screen as a node that has interconnections that are not fully shown in the portion of the graph displayed. As shown at step 48, any node with a deleted parent or child node is marked with an outline box.
As illustrated in the examples in Figures 2, 4, 5B, 6B, 7B
or 8B, the collapsed node x is surrounded by an outline box.
:, Finally, the modified information can be relayed and the modified graph displayed on the computer screen as indicated by step 49.
It should be noted that the process performed in Figure 11 can be applied to the parents of a node instead of the children. Instead of examining the children in step 41, the parent node would be examined.
The procedure to determine the nodes to be deleted for a node x can be modified to obtain a different behavior. As described above, the procedure of Figure 9 first computes the set sl from node x, and the process in Figure 10 then filters sl so as not to remove any node from the displayed graph that is positioned above x in the current layout.
These two stages could be combined so that, as shown in steps 3 and 8 in Figure 9, each child is included in the set s2 only if it is below the node x in the current layout.
Using this variation, nodes will be removed from the display graph only if they are reachable along a path containing only nodes that are below the node x in the current layout.
Figure 7B shows the results of this variation applied to the graph shown in Figure 7A where only the descendants (children below node x in the current layout) of the selected node are collapsed. This variation can, of course, be applied for collapsing parents as well.
Similarly, this variation can be applied for expansion. For this case, Figure 9 is modified so that, in steps 3 and 8 each child is included in the set s2 only i~ it is!either below the node x in the currently displayed graph or is not yet in the currently displayed graph. Using this variation, nodes will be added to the displayed graph only if they are reachable along a path containing only nodes not yet currently displayed or below the node x in the current layout. Again, this variation can be applied for expanding parents as well. ;~
In pseudo code, the transitive closure procedure shown in Figure 9 can be described as follows:
:
CA9-93-011 13 2097232 ~
sl = &phi.; .
s2 = ~children of x};
while y &memberof. s2 do begin s2 = s2 - {Yl;
91 = sl &union. ~y};
s2 = s2 &union. ({children of y~ - sl end The above procedure can be applied to determine both the set of child nodes to be added during an expand and the set of child nodes to be removed during a collapse. When collapsing a node in an acyclic graph, the set of nodes that are actually removed from the graph may be a subset of the set computed by the above transitive closure procedure because only those nodes in the set that are actually below the node to be collapsed will in fact be removed from the graph. This procedure can also be modified to compute the variations of the collapse and expand procedure as described above.
The above procedure can also be applied to collapse and :
expand the parents of a node. For this case, the procedure is modified to compute the nodes that are reachable by a parent relation (as opposed to a child relation) and parents are removed only if they are actually above the node to be collapsed.
While the invention has been particularly shown and described with reference to preferred embodiment, those skilled in the art'will understand that various chan!ge~ in the form and detail may be made without departing from the spirit and scope of the invention.
AND COLLAPSING NODES
Technical Field -This invention relates to display generation, and more -~
specifically, to the display of portions of large graphs of interconnected labeled nodes developed by a programmed computer system. The generated displays may include both full and partial, or skeletal, portions of the complex interconnected labeled nodes.
Backqround Art -Computer systems can store vast amounts of information.
Often this information takes the form of complex graphs. For example, in the design of computer or telecommunication systems or networks, a computer can be useful in determining the most efficient design or investigating aspects of a design. However, such systems or networks, if displayed in their entirety on a computer screen, would provide a display where the individual elements or nodes of the system become illegible. Obviously, such an illegible display would not be helpful when examining a small group of nodes. It i~
essential that selected portions of the system or network be displayed in legible form. This might be done by simply scaling or magnifying the graph. However, simple scaling has serious drawbacks. It will result in large portions of the graph becoming invisible to the viewer. This would only be acceptable to the user where the invisible portions are not of interest. This is often not the case as the nodes and interconnections of interest are frequently not located in close proximity within the graph. Therefore, it is also ;
necessary to be able to select disparate portions of the graph to be legibly displayed.
One way in which this has been done in the past is to simply collapse or truncate the arcs and nodes around selected nodes. Collapsing or truncating nodes in the context of the .
present invention means that the nodes and possibly, arcs associated with those nodes within the graph, are not ~, displayed on the computer screen. Expanding of nodes is essentially the reverse operation where previously collapsed nodes and arcs are selected for display. This collapsing of nodes enables selected nodes to be displayed legibly while suppressing the display of related information which is not of current interest. One approach that uses this technique is described in United States Patent 4,613,946 to E. H.
Forman which describes a process where portions of tree structures are collapsed so that portions of interest are more visible. Other portions of the structure are only skeletally displayed. Forman's techniques work well with normal tree structures having only descending branches, however, they will not work effectively with structures which include cyclic, acyclic or other types of graphs.
A typical problem encountered when displaying large graphs of interconnected labeled nodes is that the graph is too large to be displayed meaningfully within the limited screen space available in the computer system. A graph can, of course, be scaled down to make all of its nodes fit the screen but then the nodes become too small to display their labeling text. Similarly, a graph can be scaled up to make the nodes large enough to display their labeling text. In this case, the interconnections to nodes that do not fit on the screen will be obscured.
United States Patent 4,953,106 to Gansner et al describes techniques for efficiently drawing directed graphs. While the patent is not directed at, nor is it concerned with, displaying only portions of these graphs, it is help!ful in providing insight into the technical complexities of such diagrams. Often, there is a need to display only portions of these graphs. The techniques described by Forman could not be used with Gansner et al because the cyclic interconnection information in the directed graphs would be misinterpreted. The present invention avoids this problem.
Summary of the Invention The present invention provides a method for selectively displaying portions of complex graphs including trees, ' CA9-9~-011 3 2097232 directed acyclic graphs and cyclic graphs on a computer di~play screen while retaining information concerning all nodal interconnections so that the graph information can be recalled correctly as required. The method involves collecting and analyzing relevant interconnection information concerning a node or nodes to be collapsed or expanded and displaying elements of that interconnect information while retaining all information needed to display any obscured or hidden portions of the graph when required. The invention further provides the ability to tailor a screen to show any desired disparate portions of a single graph or a plurality of graphs on the display. Nodes can be selectively pruned from or grafted onto the display in any arrangement desired by the user.
Our invention provides a process for selectively modifying a display of graphical information on a computer screen. The process consists of selecting at least one node on the graph for modification, identifying all the nodes connected to each selected node and assigning each identified node to a first set of nodes. A second set of nodes is created. The second set is initially empty. Each node is removed from the first set of nodes and assigned to the second set of nodes.
All nodes connected to each removed node are identified and compared to nodes already stored in the first set of nodes.
Where the nodes are not found in the first set of nodes, the nodes are added to the second set of nodes. The steps of removing and identifying all connected nodes are repeated until the first set of nodes is empty.
Our invention is directed to a method for selectively modifying a display of graphical information on a computer display screen. At least one node displayed on the screen is selected for modification. All nodes connected to each at least one selected node are identified and all nodes connected to each identified node are also identified. All identified nodes are deleted from the display when the identified node is below the selected node. Each node connected to a deleted node is highlighted on the display.
.
Our invention is also directed to modifying a display of graphical information on a computer display screen wherein identified nodes can be added to the display when an identified node is not already displayed.
Our solution for collapsing and expanding the children and parents of a node operates correctly and consistently for all types of graphs.
Brief Description of the Drawinqs Figure 1 illustrates a display on a computer screen where a selected node is highlighted.
Figure 2 illustrates a screen display where the node highlighted in Figure 1 is collapsed.
Figure 3 illustrates a screen display where the scale of the displayed elements has been magnified.
Figure 4 illustrates a computer screen display of a collapsed node.
Figure 5A illustrates a computer screen display of a structure having acyclic nodes.
Eigure 5B illustrates a screen display of the structure of Figure 5A when the selected node is collapsed. ;~
F_gure 6A illustrates a computer screen display of a s~ructure having cyclic nodes with a selected node.
Figure 6B illustrates a screen display of the structure of Flgure 6B when all reachable nodes from the selected node are collapsed.
Figure 7A illustrates a computer screen display of a structure having cyclic nodes with a selected node.
:
C~9-93-011 5 2097232 Figure 7B illustrates a screen display of the structure of Figure 7B when only descendants from the selected node are collapsed.
Figure 8A illustrates a computer screen display of a cyclic graph structure. ~-Figure 8B illustrates a screen display of the cyclic graph ;-structure of Figure 8A when the selected node is collapsed.
Figure 9 is a flow diagram of the process for determining the transitive closure for a node in a graph.
Figure 10 is a flow diagram of the process for collapsing nodes associated with a selected node.
Figure 11 is a flow diagram of the process for expanding nodes associated with a selected node.
:
Detailed Description of the Invention ;; ~' Figure 1 shows a graph that is too large for the label text to be displayed legibly. In this Figure 1, the node albl is highlighted and identified in the Selection status line shown near the top of the screen. This partially alleviates the problem of not being able to read a node's label text as the status line displays the label text of the selected node. This status line allows the user to determine the label of a node without scaling the graph. If the size of the display on the screen remains unmodified, it would be necessary to highlight each node individually to identify the nodal relationships being portrayed in the structure.
The present invention provides a more direct approach for obtaining otherwise obscured nodal and interconnection information.
, Figure 2 shows the same graph, as shown in Figure 1, with the children of node albl removed. By removing the children of node albl from the graph shown in Figure 1, it is now possible to enlarge each of the remaining nodes so the labels on each displayed node are legible without moving CA9-93-011 20972~2 some of the nodes off the screen, as is illustrated in Figure 3 where the size of the graph has simply been enlarged.
In Figure 2, an outline box is created around the collapsed node albl to indicate there are children associated with node albl that are not displayed in the graph. This indication distinguishes nodes, such as node albl in Figure 2, that are candidates for subsequent expansion.
The graph displayed in Figure 2, where all nodes displayed now have legible labels, cannot be obtained simply by scaling the graph in Figure 1. Figure 3 shows the effect of scaling the graph in Figure 1 to enable the labelling of the nodes to be legible. As is readily apparent, some of the nodes are no longer visible on the screen.
Another way of indicating a collapsed node is to leave its outgoing arcs intact and to hide its attached children. For example, Figure 4 shows the graph of Figure 1 collapsed at the root node al. The outgoing arcs remain but the children are invisible. This view visually indicates the number of mis~ing children ~e.g., three in this instance), but it is ~;
not as compact as just marking the collapsed node with a box. -Many other graphical techniques could be used to distinguish collapsed nodes. For example, changing the shape of the node, or drawing a single outgoing arc with a label indicating the numb;er of children could be used.
The examples illustrated in Figures 1 through 4 are simple tree structures which could readily be collapsed or truncated using techniques already taught in the art.
However, our invention enables the user to not only acceptabl~ collapse these simple tree structures but also collapse graph structures which may be acyclic or cyclic.
The simple acyclic and cyclic graphs shown in Figures 5A
through 8B will help demonstrate the ability our process has for collapsing selected portions of any type of graph.
To illustrate the utility of our invention we have selected a display that includes a graph with nodes connected by directed arcs. Figures 5A and SB show a structure including an acyclic graph while Figures 6A through 8B show a structure including a cyclic graph. In these Figures, the graph layout procedure generally tries to place the source or parent nodes above their target or children nodes on the display screen. United States Patent 4,953,106 describes one technique for devising a layout for a complex directed graph. Where the graph includes undirected arcs, each undirected arc is replaced with two directed arcs pointing in opposite directions. Of course, any other convention could be used to display the graphs and the present invention would be equally applicable to those conventions with only the obviously necessary modifications to take into account the difference in the convention used. In general, our invention will work for any type of layout.
: .:
A collapse/expand procedure for a general directed graph can be devised as follows. When a node x is to be collapsed, each node that is below x in the current layout (i.e., has a y coordinate that is less than that of x) and can be reached from x by traversing arcs from source to target is removed from the graph. Similarly, when a node x is to be expanded, each node that can be reached from x by traversing arcs from source to target is added to the graph. In addition, a node x can be expanded by n levels by adding to the graph each node that can be reached from x by a path consisting of at most n arcs. Figure 5 shows the collapse procedure applied to a graph which is not a tree. In a left-to-right layout, where the graph is rotated 90 degrees in the counter-clockwise direction, only the nodes to the right of x, those having an x coordinate greater than that of x, are considered for collapsing.
The collapse/expand procedure given above can be used to collapse and expand the children of a node. However, it can be easily revised to support the collapsing and expanding of the parents of a node by conceptually reversing both the direction of the arcs being considered and the above/below relation between nodes in the current layout. Using a -- :, combination of the collapse/expand procedures for children and for parents, a user can shrink or grow his graph to suit the amount of in~ormation he wishes available at any given point.
It is important to note that the above procedures apply for general graphs which may contain cycles. Figure 8 shows the procedure applied to a cyclic graph. Computing the solution for graphs that are trees is simple. Computing it for acyclic graphs is also simple, but redundant calculations may arise for nodes that are reachable along more than one path. Computing it for cyclic graphs must be done carefully to ensure that the implementation of the procedure terminates and does not go into an infinite loop.
.., ~ .-, Looping and redundant calculations can be avoided by computing the set of nodes to be collapsed for a node x by creating two sets of nodes. The first set is set sl, the set of nodes to be removed from the graph. The second set is the set B2, the ~et of nodes to be considered. Initially, set sl is empty and set S2 contains the direct children of x. A
node y i8 removed from set s2 and is included in set sl , and each child of the moved node y that is not already included in set sl is now added to set s2. This process is repeated until the set s2 is empty. The set sl now includes all the nodes which can be deleted under the selected node x. This process ensures that every node is considered only once.
.
Figure 9 illustrates, by means of a flow diagram, the process by which nodes are deleted. A location is selected to store the first set of nodes sl as indicated at step 2 on Figure 9. Initially, there are no nodes in the first set of nodes sl but ultimately the set sl will contain the nodes which are not to be displayed. A second set of nodes 82 iS stored in a second location as indicated at step 3 in Figure 9. This second set of nodes is filled with the nodes of all the children of the node x that has been selected for display. For example, for the graph shown in Figure 2, if the node al were selected, the nodes albl, alb2 and alb3 ~ould be in set S2 . The children of a node are all nodes '~
:' directly connected to the selected node ~y an outgoing arc.
The first step in the logical process of determining the nodes which are to be suppressed from di~play is to determine whether there are any children nodes of the selected node x as indicated at step 4 in Figure 9. In step 4, each child node stored in set s2 is individually removed from the set s2 as indicated at step 5 in Figure 9. The removed child nodes are put in node set sl . Next, all the children of the node y transferred to set sl (step 6) are identified (step 7) and stored into node set s2 unless they are already stored in node set sl (step 8). The steps illustrated at 4 through 8 in Figure 9 are repeated until the node set s2 is empty. At this point the node set stored in sl represents the nodes that are reachable from the node x that is to be displayed (i.e~, those nodes that can be reached by traversing arcs from source to target nodes starting at node x) as indicated in step 9.
., Figure 9 can also be used to illustrate the transitive closure relationship of the parent nodes to a node x. In this situation, the set assigned to set s2 would be the parent nodes of node x instead of the children nodes at step 3 and the children of y at step 7 would be the parents of y.
Once the nodes associated with the selected node x have been determined it is now possible to either collapse or expand the nodes to be displayed on the computer screen depending on the users requirements.
Figure 10 illustrates how one would collapse the display below the selected node x. Initially the set of nodes reachable by child relations of node x have been determined through the transitive closure operation described with reference to Figure 9 as indicated in step 9. These nodes are now stored set sl as indicated step 21 in Figure 10.
The first step in collapsing the nodes currently displayed is to determine whether there are any nodes in set sl as shown at step 22. If there are nodes in set sl , they are removed from the set, as shown at step 23. As each node z is removed from set sl it is examined at step 24 to determine its level in the graph relative to selected node x. Those i .
nodes which are at a lower level in the graph than the selected node x are deleted from the current graph layout at step 25. Those nodes at a higher level than the selected node x are retained. The actual display is modified to provide an indication of these conditions. Where a node z is at a lower level than the selected node x, any node having z as a child or parent will be marked as collapsed.
When the set ~1 has been emptied, it is necessary to determine how the collapsed graph is to be displayed. For example, it may be desirable to display arcs from the selected node x to its deleted children so that the collapsed graph does not leave the impression that the node x is a terminating node. As shown in Figure 10, a determination is made at step 26 to determine whether arcs to deleted children or from deleted parents are to be displayed and how collapsed nodes are to be displayed. If the decision is not to display arcs, then all arcs to deleted children or from parents in the current graph layout are deleted as indicated at step 27. As shown at step 28, if the arcs are to be retained, those arcs directed from a deleted parent to a deleted child must still be deleted since their retention would convey false information to the viewer.
When step 27 or 28 has been completed, it may be desirable to highlight the node x in some fashion so that it is clearly recognizable on the screen as a node that has interconnections that are not fully shown in the portion of the graph displayed. As shown at step 29, any node with a deleted parent or child node is marked with an outline box.
As illustrated in the examples in Figure~ 2, 4, 5B, 6B, 7B
or 8B, the collapsed node x is surrounded by an outline box.
Finally, the modified information can be relayed and the modified graph displayed on the computer screen as indicated by step 30. Figure 6B shows the results of this procedure applied to the graph shown in Figure 6A where all reachable nodes of the selected node are collapsed and arcs to deleted children or from a deleted parent are not displayed.
":
:
CA9-93-011 ll 2097232 It should be noted that the procedure described in Figure 10 can also be applied in the situation where it is desired to collapse the parents of selected node x rather than the children. In this case, the procedure works with the set sl applying to the parents of node x ~nd step 24 would consider nodes higher in the graph. One way to do this would be to conceptually reverse all the arcs of the graph and draw it upside down so the parents now become children.
Figure 11 shows, schematically, the situation where it is desired to expand the display to show all the children of a selected node x. The first step is to identify all the nodes reachable by child relations from the selected node x. All these nodes are collected in a set sl as indicated at step 41 in Figure 11. Once the set sl is stored, it is then examined at step 42 to determine whether the set is empty.
The set sl for the node x is the same set sl as was determined for the transitive closure in Figure 9.
All the elements z in set sl are removed from the set sl as shown at step 43. As the elements are removed they are added to the current screen layout as shown at step 44. The steps 42, 43 and 44 are repeated until the set sl is empty.
At this point a decision is required as to whether arcs to deleted children or from deleted parents are to be displayed as indicated at step 45. If the arcs are not to be displayed then only those arcs that have both parent and child visible in the current screen layout are added to the layout as indicated at step 46. If the arcs to deleted children or from parents are to be displayed then all the arcs from parents or to children visible in the layout are added as indicated at step 47.
When step 46 or 47 has been completed, it may be desirable to highlight the node x in some fashion so that it is clearly recognizable on the screen as a node that has interconnections that are not fully shown in the portion of the graph displayed. As shown at step 48, any node with a deleted parent or child node is marked with an outline box.
As illustrated in the examples in Figures 2, 4, 5B, 6B, 7B
or 8B, the collapsed node x is surrounded by an outline box.
:, Finally, the modified information can be relayed and the modified graph displayed on the computer screen as indicated by step 49.
It should be noted that the process performed in Figure 11 can be applied to the parents of a node instead of the children. Instead of examining the children in step 41, the parent node would be examined.
The procedure to determine the nodes to be deleted for a node x can be modified to obtain a different behavior. As described above, the procedure of Figure 9 first computes the set sl from node x, and the process in Figure 10 then filters sl so as not to remove any node from the displayed graph that is positioned above x in the current layout.
These two stages could be combined so that, as shown in steps 3 and 8 in Figure 9, each child is included in the set s2 only if it is below the node x in the current layout.
Using this variation, nodes will be removed from the display graph only if they are reachable along a path containing only nodes that are below the node x in the current layout.
Figure 7B shows the results of this variation applied to the graph shown in Figure 7A where only the descendants (children below node x in the current layout) of the selected node are collapsed. This variation can, of course, be applied for collapsing parents as well.
Similarly, this variation can be applied for expansion. For this case, Figure 9 is modified so that, in steps 3 and 8 each child is included in the set s2 only i~ it is!either below the node x in the currently displayed graph or is not yet in the currently displayed graph. Using this variation, nodes will be added to the displayed graph only if they are reachable along a path containing only nodes not yet currently displayed or below the node x in the current layout. Again, this variation can be applied for expanding parents as well. ;~
In pseudo code, the transitive closure procedure shown in Figure 9 can be described as follows:
:
CA9-93-011 13 2097232 ~
sl = &phi.; .
s2 = ~children of x};
while y &memberof. s2 do begin s2 = s2 - {Yl;
91 = sl &union. ~y};
s2 = s2 &union. ({children of y~ - sl end The above procedure can be applied to determine both the set of child nodes to be added during an expand and the set of child nodes to be removed during a collapse. When collapsing a node in an acyclic graph, the set of nodes that are actually removed from the graph may be a subset of the set computed by the above transitive closure procedure because only those nodes in the set that are actually below the node to be collapsed will in fact be removed from the graph. This procedure can also be modified to compute the variations of the collapse and expand procedure as described above.
The above procedure can also be applied to collapse and :
expand the parents of a node. For this case, the procedure is modified to compute the nodes that are reachable by a parent relation (as opposed to a child relation) and parents are removed only if they are actually above the node to be collapsed.
While the invention has been particularly shown and described with reference to preferred embodiment, those skilled in the art'will understand that various chan!ge~ in the form and detail may be made without departing from the spirit and scope of the invention.
Claims (14)
1. A process for selectively modifying a display of graphical information on a computer display screen, said display of graphical information having a plurality of nodes, wherein nodes within said plurality of nodes are connected to each other with a plurality of arcs, said process comprising the computer implemented steps of:
a) selecting at least one node on said graph for modification;
b) identifying all nodes connected to each said at least one node in a first direction along at least one arc and assigning all identified nodes to a first set of nodes;
c) creating a second set of nodes, said second set being initially empty;
d) removing each node from said first set of nodes and assigning it to said second set of nodes;
e) identifying all nodes connected in said first direction to each said removed node in said second set nodes f) comparing each node identified in step e) to nodes stored in said first set of nodes and adding each node identified in step e) that is not in said first set of nodes to said second set of nodes;
and g) repeating said steps d) through f) until said first set of nodes is empty.
a) selecting at least one node on said graph for modification;
b) identifying all nodes connected to each said at least one node in a first direction along at least one arc and assigning all identified nodes to a first set of nodes;
c) creating a second set of nodes, said second set being initially empty;
d) removing each node from said first set of nodes and assigning it to said second set of nodes;
e) identifying all nodes connected in said first direction to each said removed node in said second set nodes f) comparing each node identified in step e) to nodes stored in said first set of nodes and adding each node identified in step e) that is not in said first set of nodes to said second set of nodes;
and g) repeating said steps d) through f) until said first set of nodes is empty.
2. The process in accordance with claim 1 further including the step of refreshing the contents of the display screen to replace the first displayed graph with a graph containing collapsed nodes.
3. The process in accordance with claim 2, further comprising highlighting said collapsed nodes on said computer display screen.
4. The process in accordance with claim 3, wherein said step of highlighting includes drawing a box around each collapsed node.
5. The process in accordance with claim 3, wherein each collapsed node has a shape and wherein said step of highlighting includes changing the shape for each collapsed node.
6. The process in accordance with claim 3, wherein said step of highlighting includes modifying a color for each collapsed node.
7. The process in accordance with claim 2 further comprising displaying arcs from collapsed nodes not currently displayed in the graph.
8. A method for selectively modifying a display of graphical information on a computer display screen, wherein said display of graphical information includes a plurality of nodes, wherein said plurality of nodes are arranged in a plurality of levels, said method comprising the steps of:
a) selecting at least one node displayed on said screen for modification;
b) identifying all nodes connected to each at least one selected node;
c) identifying all nodes connected to each said node identified in step b);
d) deleting all nodes identified in step b) and c) from said display when said identified node is located in a level below said selected node; and e) highlighting each retained node that is connected to a deleted node.
a) selecting at least one node displayed on said screen for modification;
b) identifying all nodes connected to each at least one selected node;
c) identifying all nodes connected to each said node identified in step b);
d) deleting all nodes identified in step b) and c) from said display when said identified node is located in a level below said selected node; and e) highlighting each retained node that is connected to a deleted node.
9. The method in accordance with claim 8 further including the step of refreshing the contents of the display screen to replace the first displayed graph with a graph containing collapsed nodes.
10. The process in accordance with claim 9, further comprising highlighting said collapsed nodes on said computer display screen.
11. The process in accordance with claim 10, wherein said step of highlighting includes drawing a box around each collapsed node.
12. The process in accordance with claim 10, wherein each collapsed node has a shape and wherein said step of highlighting includes changing the shape for each collapsed node.
13. The process in accordance with claim 10, wherein said step of highlighting includes modifying a color for each collapsed node.
14. The process in accordance with claim 9 further comprising displaying arcs from collapsed nodes not currently displayed in the graph.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002097232A CA2097232C (en) | 1993-05-28 | 1993-05-28 | Displaying partial graphs by expanding and collapsing nodes |
US08/229,249 US5515487A (en) | 1993-05-28 | 1994-04-18 | Displaying partial graphs by expanding and collapsing nodes |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002097232A CA2097232C (en) | 1993-05-28 | 1993-05-28 | Displaying partial graphs by expanding and collapsing nodes |
US08/229,249 US5515487A (en) | 1993-05-28 | 1994-04-18 | Displaying partial graphs by expanding and collapsing nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2097232A1 CA2097232A1 (en) | 1994-11-28 |
CA2097232C true CA2097232C (en) | 1999-01-19 |
Family
ID=25676231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002097232A Expired - Fee Related CA2097232C (en) | 1993-05-28 | 1993-05-28 | Displaying partial graphs by expanding and collapsing nodes |
Country Status (2)
Country | Link |
---|---|
US (1) | US5515487A (en) |
CA (1) | CA2097232C (en) |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5801702A (en) * | 1995-03-09 | 1998-09-01 | Terrabyte Technology | System and method for adding network links in a displayed hierarchy |
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US5814038A (en) | 1995-06-07 | 1998-09-29 | Sri International | Surgical manipulator for a telerobotic system |
US5649956A (en) * | 1995-06-07 | 1997-07-22 | Sri International | System and method for releasably holding a surgical instrument |
AUPO002196A0 (en) * | 1996-05-22 | 1996-06-13 | Canon Information Systems Research Australia Pty Ltd | A method of optimising an expression tree for the production of images |
US6011559A (en) * | 1996-11-12 | 2000-01-04 | International Business Machines Corporation | Layout method for arc-dominated labelled graphs |
US6040834A (en) * | 1996-12-31 | 2000-03-21 | Cisco Technology, Inc. | Customizable user interface for network navigation and management |
US6728205B1 (en) * | 1997-02-19 | 2004-04-27 | Massachusetts Institute Of Technology | Method and apparatus for automatic protection switching |
US5917492A (en) * | 1997-03-31 | 1999-06-29 | International Business Machines Corporation | Method and system for displaying an expandable tree structure in a data processing system graphical user interface |
FR2763775B1 (en) * | 1997-05-23 | 1999-08-13 | France Telecom | METHOD OF VISUALIZING PATHS WITHIN A GRAPHIC REPRESENTATION OF A NETWORK |
US6392667B1 (en) * | 1997-06-09 | 2002-05-21 | Aprisma Management Technologies, Inc. | Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective |
US6043825A (en) * | 1997-06-19 | 2000-03-28 | The United States Of America As Represented By The National Security Agency | Method of displaying 3D networks in 2D with out false crossings |
US5953017A (en) * | 1997-07-31 | 1999-09-14 | International Business Machines Corporation | Compressed object display |
US6008817A (en) * | 1997-12-31 | 1999-12-28 | Comparative Visual Assessments, Inc. | Comparative visual assessment system and method |
SG77163A1 (en) * | 1998-03-06 | 2000-12-19 | John Francis Chong | A method of implementing an acyclic directed graph structure using a relational database |
US6236400B1 (en) * | 1998-04-02 | 2001-05-22 | Sun Microsystems, Inc. | Method and apparatus for controlling the display of hierarchical information |
US6266053B1 (en) * | 1998-04-03 | 2001-07-24 | Synapix, Inc. | Time inheritance scene graph for representation of media content |
US8232995B2 (en) * | 1998-07-29 | 2012-07-31 | SAP America, Inc. | Local relative layout of node-link structures in space with negative curvature |
US6377259B2 (en) | 1998-07-29 | 2002-04-23 | Inxight Software, Inc. | Presenting node-link structures with modification |
US6108698A (en) * | 1998-07-29 | 2000-08-22 | Xerox Corporation | Node-link data defining a graph and a tree within the graph |
US6654761B2 (en) | 1998-07-29 | 2003-11-25 | Inxight Software, Inc. | Controlling which part of data defining a node-link structure is in memory |
US6300957B1 (en) | 1998-07-29 | 2001-10-09 | Inxight Software, Inc. | Mapping a node-link structure to a rendering space beginning from any node |
GB2340360B (en) | 1998-07-31 | 2002-11-06 | Sony Uk Ltd | Animation of video special effects |
GB2340266B (en) * | 1998-07-31 | 2003-03-12 | Sony Uk Ltd | Data processing |
US6181320B1 (en) | 1998-08-19 | 2001-01-30 | International Business Machines Corporation | Method for converting timing diagram into timing graph and vice versa |
US6341280B1 (en) * | 1998-10-30 | 2002-01-22 | Netscape Communications Corporation | Inline tree filters |
US6400383B1 (en) * | 1998-11-17 | 2002-06-04 | Stephen J. Geisler | Method and apparatus for exploring a multi-element design through user directed selective rendering |
US6714936B1 (en) | 1999-05-25 | 2004-03-30 | Nevin, Iii Rocky Harry W. | Method and apparatus for displaying data stored in linked nodes |
US6421072B1 (en) * | 1999-06-03 | 2002-07-16 | International Business Machines Corporation | Displaying a complex tree structure among multiple windows |
US6462762B1 (en) * | 1999-08-05 | 2002-10-08 | International Business Machines Corporation | Apparatus, method, and program product for facilitating navigation among tree nodes in a tree structure |
US6848100B1 (en) * | 2000-03-31 | 2005-01-25 | Intel Corporation | Hierarchical software path profiling |
US6873610B1 (en) | 2000-05-01 | 2005-03-29 | Mobular Technologies, Inc. | System and method for efficiently accessing affiliated network addresses from a wireless device |
US6897885B1 (en) * | 2000-06-19 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Invisible link visualization method and system in a hyperbolic space |
US6915309B1 (en) | 2001-03-20 | 2005-07-05 | Cisco Technology, Inc. | Automatically generating replication topology information for use by a directory service |
EP1298539A1 (en) * | 2001-10-01 | 2003-04-02 | Sun Microsystems, Inc. | Method and device for marking and filtering data elements in a database |
WO2003034305A1 (en) * | 2001-10-15 | 2003-04-24 | Geir Ove Skjaervik | Method for flexible diagram generation and presentation tool |
GB0206285D0 (en) * | 2002-03-16 | 2002-05-01 | Ibm | Apparatus method and computer program for providing a GUI representation of relationships between a set of resources of a data processing system |
US7188308B2 (en) * | 2003-04-08 | 2007-03-06 | Thomas Weise | Interface and method for exploring a collection of data |
US7242413B2 (en) * | 2003-05-27 | 2007-07-10 | International Business Machines Corporation | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
EP1510938B1 (en) * | 2003-08-29 | 2014-06-18 | Sap Ag | A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph |
US6963339B2 (en) | 2003-09-19 | 2005-11-08 | International Business Machines Corporation | Filtering tree map data for tree map visualization |
US7287234B2 (en) * | 2003-09-19 | 2007-10-23 | International Business Machines Corporation | Methods, systems and computer program products for use of color saturation to highlight items in a tree map visualization |
US7429987B2 (en) * | 2003-09-19 | 2008-09-30 | International Business Machines Corporation | Intelligent positioning of items in a tree map visualization |
US20050096950A1 (en) * | 2003-10-29 | 2005-05-05 | Caplan Scott M. | Method and apparatus for creating and evaluating strategies |
US7472356B2 (en) * | 2004-02-11 | 2008-12-30 | Microsoft Corporation | Collapsible container with semi-collapsed view |
US7913177B1 (en) | 2004-03-08 | 2011-03-22 | Adobe Systems Incorporated | System and method for managing instantiation of interface elements in rich internet applications |
US7836402B2 (en) * | 2004-04-16 | 2010-11-16 | Alcatel Lucent | Multiple link connector list |
US7614037B2 (en) * | 2004-05-21 | 2009-11-03 | Microsoft Corporation | Method and system for graph analysis and synchronization |
US7984388B2 (en) * | 2004-12-10 | 2011-07-19 | International Business Machines Corporation | System and method for partially collapsing a hierarchical structure for information navigation |
FR2880439B1 (en) * | 2004-12-31 | 2007-04-27 | Evolium Sas Soc Par Actions Si | WORKSTATION WITH VARIABLE SCALE DISPLAY |
US8713063B2 (en) * | 2005-01-13 | 2014-04-29 | International Business Machines Corporation | Method and system for automatically hiding irrelevant parts of hierarchical structures in computer user interfaces |
US20070097883A1 (en) * | 2005-08-19 | 2007-05-03 | Yigong Liu | Generation of a network topology hierarchy |
JP2007140843A (en) * | 2005-11-17 | 2007-06-07 | Fuji Xerox Co Ltd | Link relationship display, control method for link relationship display, and program |
US8120610B1 (en) * | 2006-03-15 | 2012-02-21 | Adobe Systems Incorporated | Methods and apparatus for using aliases to display logic |
US7656404B1 (en) * | 2006-03-21 | 2010-02-02 | Intuit Inc. | Line trimming and arrow head placement algorithm |
US7661076B2 (en) * | 2006-03-31 | 2010-02-09 | Microsoft Corporation | Two dimensional trees to edit graph-like diagrams |
US20070266039A1 (en) * | 2006-05-11 | 2007-11-15 | Boykin James R | Simplifying A Visual Depiction of A Graph |
US8396827B2 (en) * | 2006-12-29 | 2013-03-12 | Sap Ag | Relation-based hierarchy evaluation of recursive nodes |
US8640086B2 (en) * | 2006-12-29 | 2014-01-28 | Sap Ag | Graphical user interface system and method for presenting objects |
US20080162616A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Skip relation pattern for graph structures |
US9165087B2 (en) * | 2006-12-29 | 2015-10-20 | Sap Se | Validity path node pattern for structure evaluation of time-dependent acyclic graphs |
US7610429B2 (en) * | 2007-01-30 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | Method and system for determining device criticality in a computer configuration |
US8312389B2 (en) * | 2007-08-31 | 2012-11-13 | Fair Isaac Corporation | Visualization of decision logic |
US8200609B2 (en) * | 2007-08-31 | 2012-06-12 | Fair Isaac Corporation | Construction of decision logic with graphs |
US8266090B2 (en) | 2007-08-31 | 2012-09-11 | Fair Isaac Corporation | Color-coded visual comparison of decision logic |
US20090319948A1 (en) * | 2008-06-20 | 2009-12-24 | Smartdraw.Com | Automated editing of graphics charts |
US8890870B2 (en) * | 2008-06-27 | 2014-11-18 | Applied Minds, Llc | System and method for visualizing relationships between objects |
US8730241B2 (en) * | 2008-09-08 | 2014-05-20 | Fair Isaac Corporation | Techniques for drawing curved edges in graphs |
US8280836B2 (en) * | 2008-09-08 | 2012-10-02 | Fair Isaac Corporation | Converting unordered graphs to oblivious read once ordered graph representation |
US8711148B2 (en) * | 2008-10-01 | 2014-04-29 | International Business Machines Corporation | Method and system for generating and displaying an interactive dynamic selective view of multiply connected objects |
US8669982B2 (en) * | 2008-10-01 | 2014-03-11 | International Business Machines Corporation | Method and system for generating and displaying an interactive dynamic culling graph view of multiply connected objects |
US8711147B2 (en) * | 2008-10-01 | 2014-04-29 | International Business Machines Corporation | Method and system for generating and displaying an interactive dynamic graph view of multiply connected objects |
US8665274B2 (en) * | 2008-10-01 | 2014-03-04 | International Business Machines Corporation | Method and system for generating and displaying an interactive dynamic view of bi-directional impact analysis results for multiply connected objects |
CN102053987B (en) * | 2009-11-06 | 2015-09-09 | 商业对象软件有限公司 | For showing the unified interface with Update Table array |
US20110179390A1 (en) * | 2010-01-18 | 2011-07-21 | Robert Paul Morris | Methods, systems, and computer program products for traversing nodes in path on a display device |
US8810576B2 (en) * | 2010-04-13 | 2014-08-19 | Microsoft Corporation | Manipulation and management of links and nodes in large graphs |
US8495504B2 (en) | 2010-04-29 | 2013-07-23 | International Business Machines Corporation | Customizable branch navigational area control |
US8819592B2 (en) | 2010-09-03 | 2014-08-26 | Robert Lewis Jackson, JR. | Sparse dynamic selection trees |
US9519677B2 (en) | 2010-10-08 | 2016-12-13 | Battelle Memorial Institute | Data graphing methods, articles of manufacture, and computing devices |
US9355478B2 (en) * | 2011-07-15 | 2016-05-31 | Hewlett Packard Enterprise Development Lp | Reflecting changes to graph-structured data |
US20140118350A1 (en) * | 2011-07-20 | 2014-05-01 | Matthias Imhof | Seismic Pattern Recognition Using Attributed Relational Graphs |
DE112012007005T5 (en) * | 2012-10-12 | 2015-07-23 | Mitsubishi Electric Corporation | Screen transition diagram generator |
US20150199607A1 (en) * | 2013-05-31 | 2015-07-16 | Empire Technology Development Llc | Incremental reasoning based on scalable and dynamical semantic data |
US9116975B2 (en) * | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
USD776127S1 (en) * | 2014-01-13 | 2017-01-10 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US10776376B1 (en) * | 2014-12-05 | 2020-09-15 | Veritas Technologies Llc | Systems and methods for displaying search results |
US10963476B2 (en) * | 2015-08-03 | 2021-03-30 | International Business Machines Corporation | Searching and visualizing data for a network search based on relationships within the data |
JP6858983B2 (en) * | 2015-11-25 | 2021-04-14 | チーミフィア,インコーポレイテッド | Methods for augmentation, exploration and maintenance of the project hierarchy |
JP6665579B2 (en) * | 2016-02-25 | 2020-03-13 | 富士通株式会社 | Drawing method, drawing apparatus, and drawing program |
US20170277728A1 (en) * | 2016-03-28 | 2017-09-28 | International Business Machines Corporation | Hiding nodes in a tree containing shared subtrees |
US20180137667A1 (en) | 2016-11-14 | 2018-05-17 | Oracle International Corporation | Graph Visualization Tools With Summary Visualization For Very Large Labeled Graphs |
US10673714B1 (en) * | 2017-03-29 | 2020-06-02 | Juniper Networks, Inc. | Network dashboard with multifaceted utilization visualizations |
US10585575B2 (en) | 2017-05-31 | 2020-03-10 | Oracle International Corporation | Visualizing UI tool for graph construction and exploration with alternative action timelines |
US11120082B2 (en) | 2018-04-18 | 2021-09-14 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
USD970515S1 (en) * | 2019-10-07 | 2022-11-22 | Wells Fargo Bank, N.A. | Display screen or portion thereof with graphical user interface |
US11233705B2 (en) * | 2019-12-23 | 2022-01-25 | Robert Brennan Garvey | System and method for visualizing and navigating network data |
USD923048S1 (en) * | 2020-04-01 | 2021-06-22 | Clause, Inc. | Display screen or portion thereof with transitional graphical user interface |
USD971241S1 (en) * | 2020-06-30 | 2022-11-29 | Salesforce.Com, Inc. | Display screen or portion thereof with graphical user interface |
USD971243S1 (en) * | 2020-06-30 | 2022-11-29 | Salesforce.Com, Inc. | Display screen or portion thereof with graphical user interface |
CN112925957B (en) * | 2021-05-12 | 2021-09-10 | 北京明略昭辉科技有限公司 | Method, device, equipment and medium for determining position of father node in graph |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4710763A (en) * | 1984-10-19 | 1987-12-01 | Texas Instruments Incorporated | Method for generating and displaying tree structures in a limited display area |
US4829450A (en) * | 1986-02-28 | 1989-05-09 | Michael Manthey | Reasoning machine |
US5018075A (en) * | 1989-03-24 | 1991-05-21 | Bull Hn Information Systems Inc. | Unknown response processing in a diagnostic expert system |
-
1993
- 1993-05-28 CA CA002097232A patent/CA2097232C/en not_active Expired - Fee Related
-
1994
- 1994-04-18 US US08/229,249 patent/US5515487A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2097232A1 (en) | 1994-11-28 |
US5515487A (en) | 1996-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2097232C (en) | Displaying partial graphs by expanding and collapsing nodes | |
Huang et al. | On-line animated visualization of huge graphs using a modified spring algorithm | |
US6259458B1 (en) | Method of generating and navigating a 3-D representation of a hierarchical data structure | |
Storey et al. | On integrating visualization techniques for effective software exploration | |
US7337412B2 (en) | Methods, systems and computer program products for providing multi-dimensional tree diagram graphical user interfaces | |
Koike et al. | Fractal approaches for visualizing huge hierarchies | |
US6944818B2 (en) | Method and apparatus for the viewing and exploration of the content of hierarchical information | |
US6976212B2 (en) | Method and apparatus for the construction and use of table-like visualizations of hierarchic material | |
Bezerianos et al. | Geneaquilts: A system for exploring large genealogies | |
Rieger et al. | Insights into system-wide code duplication | |
Johnson et al. | Tree-maps: A space filling approach to the visualization of hierarchical information structures | |
Kosara et al. | An interaction view on information visualization. | |
US6249908B1 (en) | System and method for representing graphical font data and for converting the font data to font instructions | |
EP0694829B1 (en) | A method and apparatus for visualization of database search results | |
US7340690B2 (en) | Space-efficient linear hierarchical view and navigation | |
EP0924608A2 (en) | System for visually representing modification information about an characteristic-dependent information processing system | |
US20070050697A1 (en) | Integrated spreadsheet expanding table with collapsable columns | |
US7000199B2 (en) | Methodology for viewing large strategies via a computer workstation | |
Storey et al. | Manipulating and documenting software structures | |
US20020054155A1 (en) | Data module design system | |
Tu et al. | Balloon focus: a seamless multi-focus+ context method for treemaps | |
Sugiyama et al. | A generic compound graph visualizer/manipulator: D-ABDUCTOR | |
Hong et al. | Zoomology: comparing two large hierarchical trees | |
JP2001125925A (en) | Method for displaying structure and computer readable recording medium recording program for allowing computer to execute the method | |
Lemieux et al. | Visualization techniques for program comprehension |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |