Positioning labels on graphical visualizations of graphs
First Claim
1. A method of arranging labels on a visual representation of a graph data structure, the method comprising:
- obtaining, with one or more processors, a graph to be visually represented in a graphical user interface of a client computing device, the visual representation including a plurality of icons each representing one or more nodes of a graph data structure and links extending between the icons in the visual representation;
obtaining, with one or more processors, a set of text labels each corresponding to a respective collection of the nodes;
determining, with one or more processors, a two dimensional or higher layout of the icons in the visual representation within a field of view;
segmenting, with one or more processors, the field of view into a plurality of segments of the field of view;
determining, with one or more processors, which icons are disposed within each of the segments of the field of view;
determining, with one or more processors, positions of the text labels in the visual representation relative to one or more icons representing nodes in the respective collection of nodes based on the segment of the field of view in which the one or more icons representing nodes in the respective collection are disposed;
causing, with one or more processors, the visual representation to be displayed;
receiving a user request to zoom into a portion of the visual representation;
re-determining which icons are in which of the segments of the field of view after zooming; and
re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming, wherein re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming comprises;
determining a plurality of sets of sub-segments, each set of sub-segments having a plurality of sub-segments, each set of sub-segments corresponding to a respective cluster, each of the sets of sub-segments being centered at a different respective position of the field of view;
selecting, for each of the clusters, a respective sub-segment based on a segment of the field of view in which the respective cluster is disposed; and
positioning respective text labels for respective clusters or icons therein based on, and at least partially in, respective selected sub-segment corresponding to the respective clusters.
8 Assignments
0 Petitions
Accused Products
Abstract
Provided is a process, including: obtaining a graph to be visually represented in a graphical user interface of a client computing device; obtaining a set of text labels each corresponding to a respective collection of the nodes; determining a two dimensional or higher layout of the icons in the visual representation; segmenting the field of view into a plurality of segments; determining which icons are disposed within each of the segments of the field of view; determining positions of the text labels in the visual representation relative to one or more icons representing nodes in the respective collection of nodes based on the segment of the field of view in which the one or more icons representing nodes in the respective collection are disposed; and causing the visual representation to be displayed.
-
Citations
23 Claims
-
1. A method of arranging labels on a visual representation of a graph data structure, the method comprising:
-
obtaining, with one or more processors, a graph to be visually represented in a graphical user interface of a client computing device, the visual representation including a plurality of icons each representing one or more nodes of a graph data structure and links extending between the icons in the visual representation; obtaining, with one or more processors, a set of text labels each corresponding to a respective collection of the nodes; determining, with one or more processors, a two dimensional or higher layout of the icons in the visual representation within a field of view; segmenting, with one or more processors, the field of view into a plurality of segments of the field of view; determining, with one or more processors, which icons are disposed within each of the segments of the field of view; determining, with one or more processors, positions of the text labels in the visual representation relative to one or more icons representing nodes in the respective collection of nodes based on the segment of the field of view in which the one or more icons representing nodes in the respective collection are disposed; causing, with one or more processors, the visual representation to be displayed; receiving a user request to zoom into a portion of the visual representation; re-determining which icons are in which of the segments of the field of view after zooming; and re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming, wherein re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming comprises; determining a plurality of sets of sub-segments, each set of sub-segments having a plurality of sub-segments, each set of sub-segments corresponding to a respective cluster, each of the sets of sub-segments being centered at a different respective position of the field of view; selecting, for each of the clusters, a respective sub-segment based on a segment of the field of view in which the respective cluster is disposed; and positioning respective text labels for respective clusters or icons therein based on, and at least partially in, respective selected sub-segment corresponding to the respective clusters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
one or more processors; and memory storing instructions that when executed by at least some of the processors effectuate operations comprising; obtaining a graph to be visually represented in a graphical user interface of a client computing device, the visual representation including a plurality of icons each representing one or more nodes of a graph data structure and links extending between the icons in the visual representation; obtaining a set of text labels each corresponding to a respective collection of the nodes; determining a two dimensional or higher layout of the icons in the visual representation within a field of view; segmenting the field of view into a plurality of segments; determining, with one or more processors, which icons are disposed within each of the segments of the field of view of the field of view; determining positions of the text labels in the visual representation relative to one or more icons representing nodes in the respective collection of nodes based on the segment of the field of view in which the one or more icons representing nodes in the respective collection are disposed; causing the visual representation to be displayed; receiving a user request to zoom into a portion of the visual representation; re-determining which icons are in which segments of the field of view after zooming; and re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming, wherein re-determining positions of the text labels based on changes in segments in which icons are disposed after zooming comprises; determining a plurality of sets of sub-segments, each set of sub-segments having a plurality of sub-segments, each set of sub-segments corresponding to a respective cluster, each of the sets of sub-segments being centered at a different respective position of the field of view; selecting, for each of the clusters, a respective sub-segment based on a segment of the field of view in which the respective cluster is disposed; and positioning respective text labels for respective clusters or icons therein based on, and at least partially in, respective selected sub-segment corresponding to the respective clusters.
-
Specification